分组内的累计和

2 投票
1 回答
1392 浏览
提问于 2025-04-18 07:20

假设我有一个这样的多重索引的数据表:

              A
H1   one      1
     two      0
     three    1
     four     2
H2   one      1
     two      4

我想在一个新列中计算每个组的累计和,这样输出结果就是:

              A   sum
H1   one      1     1
     two      0     1
     three    1     2
     four     2     4
H2   one      1     1   
     two      4     5

我该如何在Pandas中做到这一点呢?(顺便说一下,我使用的是master分支)

1 个回答

5

我觉得你只需要在使用 groupby 的时候加上 level 这个参数就可以了。具体的用法可以参考这个教程中的 多重索引的分组 部分:

>>> df["sum"] = df.groupby(level=0)["A"].cumsum()
>>> df
          A  sum

H1 one    1    1
   two    0    1
   three  1    2
   four   2    4
H2 one    1    1
   two    4    5

撰写回答