pandas 在所有行上显示组总和 [英] Pandas show group sum on all rows
本文介绍了 pandas 在所有行上显示组总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出以下数据框:
col_a | col_b_tosum
b | 5
b | 5
b | 1
c | 6
c | 3
a | 2
a | 2
我想在所有行上显示每个col_组的总和,如下所示:
I would like to show the sum of each col_ group on all rows, like this:
col_a | col_b_tosum | group_sum
b | 5 11
b | 5 11
b | 1 11
c | 6 9
c | 3 9
a | 2 4
a | 2 4
推荐答案
将groupby
与transform
一起使用:
df['group_sum'] = df.groupby('col_a')['col_b_tosum'].transform('sum')
输出:
col_a col_b_tosum group_sum
0 b 5 11
1 b 5 11
2 b 1 11
3 c 6 9
4 c 3 9
5 a 2 4
6 a 2 4
这篇关于 pandas 在所有行上显示组总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文