如何为其他列中的每个值对组中的值求和?

How to sum values in group for each value in other column?

我有一个数据框:

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'}) 但结果不对。它不做求和。

尝试,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