熊猫在所有行上显示组总和

时间:2018-10-16 14:59:17

标签: python-3.x pandas group-by sum

给出以下数据框:

col_a   |   col_b_tosum   
 b      |    5 
 b      |    5
 b      |    1
 c      |    6
 c      |    3
 a      |    2
 a      |    2

我想在所有行上显示每个col_组的总和,如下所示:

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

1 个答案:

答案 0 :(得分:2)

groupbytransform一起使用:

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