Consider my dataframe, df
:
data data_binary sum_data
2 1 1
5 0 0
1 1 1
4 1 2
3 1 3
10 0 0
7 0 0
3 1 1
How can I calculate the cumulative sum of data_binary
within groups of contiguous 1
values?
The first group of 1
's had a single 1
and sum_data
has only a 1
. However, the second group of 1
's has 3 1
's and sum_data
is [1, 2, 3]
.
I've tried using np.where(df['data_binary'] == 1, df['data_binary'].cumsum(), 0)
, but that returns
array([1, 0, 2, 3, 4, 0, 0, 5])
Which is not what I want.