将行阵列转换为Pyspark中的字符串数组



我有一个带有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()。这将显示您的表格形式,而不是行(...)

相关内容

  • 没有找到相关文章

最新更新