在pyspark dataframe中我想根据窗口计算不同值的数量

0 投票
1 回答
38 浏览
提问于 2025-04-14 16:07

我有一个数据表,内容如下:

计划 名称 用户ID 金额
FWE QRS 123 10
FWE QRS 123 20
FWE QRS 223 30
RWE QRS 223 40

数据表截图

我想根据计划和名称来统计唯一的 用户ID 的数量。

我希望得到的结果是这样的:

计划 名称 用户ID 金额 唯一计数
FWE QRS 123 10 2
FWE QRS 123 20 2
FWE QRS 223 30 1
RWE QRS 223 40 1

我想用 withColumn 函数来得到这个 唯一计数

1 个回答

0

试试这个。

window_spec = Window.partitionBy('plan', 'name')

df = df.withColumn('un_count', count(col('user_id')).over(window_spec))

撰写回答