gpt4 book ai didi

pandas - pyspark中的 Pandas cumcount

转载 作者:行者123 更新时间:2023-12-02 22:00:37 27 4
gpt4 key购买 nike

当前正在尝试将我从 Pandas 制作的脚本转换为pyspark,我有一个数据框,其中包含以下形式的数据:

index | letter
------|-------
0 | a
1 | a
2 | b
3 | c
4 | a
5 | a
6 | b

我想创建以下数据帧,其中存储每个字母实例的出现次数,例如,我们第一次看到“a”时,出现次数为0,第二次为1,第三次为2:
index | letter | occurrence
------|--------|-----------
0 | a | 0
1 | a | 1
2 | b | 0
3 | c | 0
4 | a | 2
5 | a | 3
6 | b | 1

我可以使用以下方法在 Pandas 中实现:
df['occurrence'] = df.groupby('letter').cumcount()
我将如何在pyspark中进行此操作?找不到类似的现有方法。

最佳答案

您要查找的功能称为window functions

from pyspark.sql.functions import row_number
from pyspark.sql.window import Window

df.withColumn("occurence", row_number().over(Window.partitionBy("letter").orderBy("index")))

关于pandas - pyspark中的 Pandas cumcount,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683453/

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