gpt4 book ai didi

pyspark - groupby 并使用 pyspark 将多列转换为列表

转载 作者:行者123 更新时间:2023-12-04 21:31:23 24 4
gpt4 key购买 nike

我正在使用 pyspark。所以我有一个看起来像的 Spark 数据框:

a | b | c
5 | 2 | 1
5 | 4 | 3
2 | 4 | 2
2 | 3 | 7

需要输出:
a | b_list
5 | 2,1,4,3
2 | 4,2,3,7

保持输出中给出的序列很重要。

最佳答案

除了 udf,我们也可以使用 concat_ws 来加入列表。上面评论中建议的功能,如下所示:

import pyspark.sql.functions as F

df = (df
.withColumn('lst', F.concat(df['b'], F.lit(','), df['c']).alias('lst'))
.groupBy('a')
.agg( F.concat_ws(',', F.collect_list('lst').alias('b_list')).alias('lst')))

df.show()

+---+-------+
| a| lst|
+---+-------+
| 5|2,1,4,3|
| 2|4,2,3,7|
+---+-------+

关于pyspark - groupby 并使用 pyspark 将多列转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50080225/

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