gpt4 book ai didi

python - Pyspark数据框获取列的所有值

转载 作者:行者123 更新时间:2023-12-03 15:49:10 26 4
gpt4 key购买 nike

我想获取pyspark数据框中的列的所有值。我进行了一些搜索,但从未找到有效且简短的解决方案。

假设我想在名为“名称”的列中获取一个值。我有一个解决方案:

sum(dataframe.select("name").toPandas().values.tolist(),[])

它可以工作,但是效率不高,因为它会转换为 Pandas ,然后将列表变平...是否有更好且更短的解决方案?

最佳答案

下面的选项将提供比sum更好的性能。

使用collect_list

import pyspark.sql.functions as f
my_list = df.select(f.collect_list('name')).first()[0]

使用RDD:
my_list = df.select("name").rdd.flatMap(lambda x: x).collect()

我不确定,但是在我的压力测试中, collect_list可以提供更好的性能。如果有人可以确认,那将是很好。

关于python - Pyspark数据框获取列的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57810102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com