将行数组转换为 pyspark 中的字符串数组
Convert array of rows into array of strings in pyspark
我有一个包含 2 列的数据框,我通过 df.collect().
得到了下面的数组
array = [Row(name=u'Alice', age=10), Row(name=u'Bob', age=15)]
现在我想要得到如下所示的输出数组。
new_array = ['Alice', 'Bob']
谁能告诉我如何使用 pyspark 提取上述输出。任何帮助将不胜感激。
谢谢
我在 df 中看到两列姓名和年龄。现在,您只想显示 name
列。
你可以select这样:
df.select("name").show()
这只会显示名称。
提示:此外,您 df.show()
而不是 df.collect()
。这将以表格形式而不是 row(...)
向您展示
# 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']
我有一个包含 2 列的数据框,我通过 df.collect().
得到了下面的数组array = [Row(name=u'Alice', age=10), Row(name=u'Bob', age=15)]
现在我想要得到如下所示的输出数组。
new_array = ['Alice', 'Bob']
谁能告诉我如何使用 pyspark 提取上述输出。任何帮助将不胜感激。
谢谢
我在 df 中看到两列姓名和年龄。现在,您只想显示 name
列。
你可以select这样:
df.select("name").show()
这只会显示名称。
提示:此外,您 df.show()
而不是 df.collect()
。这将以表格形式而不是 row(...)
# 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']