我在一个PySpark
数据框中有重复的行,我想根据一列中的重复条目将所有这些行合并到一行中。
当前表
Deal_ID Title Customer In_Progress Deal_Total
30 Deal 1 Client A 350 900
30 Deal 1 Client A 360 850
50 Deal 2 Client B 30 50
30 Deal 1 Client A 125 200
30 Deal 1 Client A 90 100
10 Deal 3 Client C 32 121
尝试的PySpark代码
F.when(F.count(F.col('Deal_ID')) > 1, F.sum(F.col('In_Progress')) && F.sum(F.col('Deal_Total'))))
.otherwise(),
需要表
Deal_ID Title Customer In_Progress Deal_Total
30 Deal 1 Client A 925 2050
50 Deal 2 Client B 30 50
10 Deal 3 Client C 32 121
2条答案
按热度按时间qgelzfjb1#
我认为您需要按具有重复行的列进行分组,然后汇总金额。我认为这解决了您的问题:
5vf7fwbs2#
否则,您可以在python pandas / dataframe中使用相同的
group by
函数,并将其应用于您的datadrame: