累计整个表并重置为零

onk*_*kar 3 python-2.7 pandas

我有以下数据框。

d = pd.DataFrame({'one' : [0,1,1,1,0,1],'two' : [0,0,1,0,1,1]})

d

   one  two
0    0    0
1    1    0
2    1    1
3    1    0
4    0    1
5    1    1
Run Code Online (Sandbox Code Playgroud)

我想要重置为零的累积总和

所需的输出应该是

pd.DataFrame({'one' : [0,1,2,3,0,1],'two' : [0,0,1,0,1,2]})

   one  two
0    0    0
1    1    0
2    2    1
3    3    0
4    0    1
5    1    2
Run Code Online (Sandbox Code Playgroud)

我曾尝试使用 group by 但它不适用于整个表。

Sco*_*ton 7

df2 =  df.apply(lambda x: x.groupby((~x.astype(bool)).cumsum()).cumsum())
print(df2)
Run Code Online (Sandbox Code Playgroud)

输出:

   one  two
0    0    0
1    1    0
2    2    1
3    3    0
4    0    1
5    1    2
Run Code Online (Sandbox Code Playgroud)