我有一个包含2列的数据框,通过执行 df.collect(),我进入了数组下方。
array = [Row(name=u'Alice', age=10), Row(name=u'Bob', age=15)]
现在,我想获得如下输出数组。
new_array = ['Alice', 'Bob']
任何人都可以让我知道如何使用pyspark提取上述输出。任何帮助将不胜感激。
谢谢
答案 0 :(得分:0)
我在df中看到两列名称和年龄。现在,您只希望显示name
列。
您可以按以下方式选择它:
df.select("name").show()
这只会显示您的姓名。
提示:另外,您使用df.show()
而不是df.collect()
。这将以表格形式显示给您,而不是以row(...)
答案 1 :(得分:0)
# 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']