在pyspark中,我正在努力实现以下逻辑。
假设我有这样一个表(df):
type count
A 5000
B 5000
C 200
D 123
... ...
... ...
Z 453
我怎样才能把这一栏加起来 count
按类型 A
, B
所有其他类型都属于 Others
类别?
我现在有:
df = df.withColumn('type', when(col("type").isnot("A", "B"))
我的预期结果如下:
type count
A 5000
B 5000
Other 3043
2条答案
按热度按时间huus2vyu1#
要按when表达式分组并求和计数:
mjqavswn2#
您可以根据类型将Dataframe分为两部分,为第二部分聚合一个和,然后执行
unionAll
把它们结合起来。