Pandas 带键的 cumsum

Pandas cumsum with keys

我有两个 DataFrame(第一个,第二个):

index_first value_1 value_2
0 100 1
1 200 2
2 300 3
index_second value_1 value_2
0 50 10
1 100 20
2 150 30

接下来我用键连接两个 DataFrame:

z = pd.concat([first, second],keys=['x','y'])

我的目标是在考虑键的情况下计算 z 中 value_1value_2 的累加和。 所以最终的 DataFrame 应该是这样的:

index_z value_1 value_2
x,0 100 1
x,1 300 3
x,2 600 6
y,0 50 10
y,1 150 30
y,2 300 60

使用 GroupBy.cumsumconcatkey 创建的第一个级别:

df = z.groupby(level=0).cumsum()
print (df)
               value_1  value_2
  index_first                  
x 0                100        1
  1                300        3
  2                600        6
y 0                 50       10
  1                150       30
  2                300       60