汇总整个表并将其重置为零 [英] Cumsum entire table and reset at zero

查看:64
本文介绍了汇总整个表并将其重置为零的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下数据框.

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

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

I want cumulative sum which resets at zero

期望的输出应该是

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

我尝试使用分组依据,但不适用于整个表.

i have tried using group by but it does not work for entire table.

推荐答案

df2 =  df.apply(lambda x: x.groupby((~x.astype(bool)).cumsum()).cumsum())
print(df2)

输出:

   one  two
0    0    0
1    1    0
2    2    1
3    3    0
4    0    1
5    1    2

这篇关于汇总整个表并将其重置为零的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆