gpt4 book ai didi

python - Pandas:分组和条件总和并添加回数据帧

转载 作者:行者123 更新时间:2023-12-04 09:32:28 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

ID  Num  Letter  Count
1 17 D 1
1 12 D 2
1 13 D 3
2 17 D 4
2 12 A 5
2 16 D 1
3 16 D 1
目标是在“Num”为(17 或 12)且“Letter”为“D”时对每个“ID”的“Count”值求和,并将计算结果添加回“Total”中的原始数据框。
以下是预期的数据框:
ID  Num  Letter  Count Total
1 17 D 1 3
1 12 D 2 3
1 13 D 3 3
2 17 D 4 4
2 12 A 5 4
2 16 D 1 4
3 16 D 1 0
提前致谢!

最佳答案

想法是将不匹配的值替换为 0 Series.where 然后使用 GroupBy.transform sum :

mask = df['Num'].isin([17,12]) & df['Letter'].eq('D')
df['Total'] = df['Count'].where(mask, 0).groupby(df['ID']).transform('sum')
print (df)
ID Num Letter Count Total
0 1 17 D 1 3
1 1 12 D 2 3
2 1 13 D 3 3
3 2 17 D 4 4
4 2 12 A 5 4
5 2 16 D 1 4
6 3 16 D 1 0

关于python - Pandas:分组和条件总和并添加回数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62774794/

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