我有一个带有2列的数据框,我通过 df.collect()。
array = [Row(name=u'Alice', age=10), Row(name=u'Bob', age=15)]
现在我想获得下面的输出数组。
new_array = ['Alice', 'Bob']
任何人都可以让我知道如何使用Pyspark提取上述输出。任何帮助将不胜感激。
谢谢
# Creating the base dataframe.
values = [('Alice',10),('Bob',15)]
df = sqlContext.createDataFrame(values,['name','age'])
df.show()
+-----+---+
| name|age|
+-----+---+
|Alice| 10|
| Bob| 15|
+-----+---+
df.collect()
[Row(name='Alice', age=10), Row(name='Bob', age=15)]
# Use list comprehensions to create a list.
new_list = [row.name for row in df.collect()]
print(new_list)
['Alice', 'Bob']
我在DF中看到了两个列的名称和年龄。现在,您只希望显示name
列。
您可以选择:
df.select("name").show()
这只会向您显示名称。
提示:另外,您的df.show()
代替df.collect()
。这将显示您的表格形式,而不是行(...)