gpt4 book ai didi

python - 将列的不同计数添加到 PySpark 中的每一行

转载 作者:行者123 更新时间:2023-12-01 23:38:02 27 4
gpt4 key购买 nike

我需要为 PySpark 数据框中的每一行添加不同的列数。

例子:如果原始数据框是这样的:

+----+----+
|col1|col2|
+----+----+
|abc | 1|
|xyz | 1|
|dgc | 2|
|ydh | 3|
|ujd | 1|
|ujx | 3|
+----+----+

然后我想要这样的东西:

+----+----+----+
|col1|col2|col3|
+----+----+----+
|abc | 1| 3|
|xyz | 1| 3|
|dgc | 2| 3|
|ydh | 3| 3|
|ujd | 1| 3|
|ujx | 3| 3|
+----+----+----+

我尝试了 df.withColumn('total_count', f.countDistinct('col2')) 但它给出了错误。

最佳答案

您可以对列中的不同元素进行计数并使用以下值创建新列:

distincts = df.dropDuplicates(["col2"]).count()
df = df.withColumn("col3", f.lit(distincts))

关于python - 将列的不同计数添加到 PySpark 中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65304482/

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