【问题标题】:Pandas show group sum on all rows [duplicate]熊猫在所有行上显示组总和[重复]
【发布时间】:2023-03-22 04:25:01
【问题描述】:

给定以下数据框:

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

【问题讨论】:

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


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 2020-04-09
      • 2020-12-16
      • 2017-02-06
      • 2018-07-30
      • 2017-10-15
      相关资源
      最近更新 更多