使用列中唯一值的第一个实例的小计创建新列,否则为 0

问题描述 投票:0回答:1

我有一个数据集如下

我想找到一种方法来创建“累积销售额”列,该列将是每个唯一客户 ID 的第一行的总销售额之和,其余的为 0。 图像 : (https://i.stack.imgur.com/YbVL9.png)

我通过创建一个新列 R 来计算第一个不同值,然后使用 IF(SUMIF) 函数计算总和,找到了 Excel 中的解决方案。:

=IF(COUNTIFS($F$2:$F8, $F8)=1, SUMIF($F$2:$F$1065, R8, $P$2:$P$1065), "0") 我是 python 新手,很难复制这个结果。 预先感谢您。

python pandas unique
1个回答
0
投票

用途:

df['Cumulative Sales'] = np.where(df['ClientID'].duplicated(), 0, df.groupby('ClientID')['Total sales'].transform('sum'))
© www.soinside.com 2019 - 2024. All rights reserved.