Pyspark - 将列转换为列表

火花3.0


我运行了一个代码df.select("Name").collect(),并在下面收到了这个输出。我想将结果放在下面的列表中。我尝试将 [0] 添加到末尾,但这没有用。


Row(Name='Andy')

Row(Name='Brandon')

Row(Name='Carl')


expected outcome = ['Andy','Brandon','Carl']


尚方宝剑之说
浏览 232回答 2
2回答

大话西游666

你可以使用 rdd。df.select('Name').rdd.map(lambda x: x[0]).collect() ['Andy', 'Brandon', 'Carl']

饮歌长啸

使用collect_list然后通过访问索引仅获取列表并分配给变量。Example:df.show()#+-------+#|   Name|#+-------+#|   Andy|#|Brandon|#|   Carl|#+-------+output=df.agg(collect_list(col("name"))).collect()[0][0]output#['Andy', 'Brandon', 'Carl']另一种方法是使用列表理解:ss=df.select("Name").collect()output=[i[0] for i in ss]output#['Andy', 'Brandon', 'Carl']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python