【问题标题】:How to sum values in group for each value in other column?如何为其他列中的每个值汇总组中的值?
【发布时间】:2022-01-06 02:18:07
【问题描述】:

我有一个数据框:

id   life_day   value
a1     1         10
a1     2         20
a1     3         10
a1     4         5
a1     5         5
a1     6         1
b2     1         7
b2     3         11
b2     4         10
b2     5         20

我想对每个 id 和 life_day 的值求和。所以想要的结果是:

id   life_day   value
a1     1         10
a1     2         30
a1     3         40
a1     4         45
a1     5         50
a1     6         51
b2     1         7
b2     3         18
b2     4         28
b2     5         48

`

如何做到这一点?我试过df.groupby('id').agg({'value': 'sum'}),但结果错误。它不做求和。

【问题讨论】:

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


    【解决方案1】:

    试试看,transform + cumsum

    df['value'] = df.groupby(['id'])['value'].transform('cumsum')
    

       id  life_day  value
    0  a1         1     10
    1  a1         2     30
    2  a1         3     40
    3  a1         4     45
    4  a1         5     50
    5  a1         6     51
    6  b2         1      7
    7  b2         3     18
    8  b2         4     28
    9  b2         5     48
    

    【讨论】:

      猜你喜欢
      • 2020-02-17
      • 1970-01-01
      • 2023-02-23
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      相关资源
      最近更新 更多