How to get the data frame below
dd = pd.DataFrame({'val':[0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,1,0,0],
'groups':[1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,'ignore','ignore']})
val groups
0 0 1
1 0 1
2 1 1
3 1 1
4 1 1
5 0 2
6 0 2
7 0 2
8 0 2
9 1 2
10 1 2
11 0 3
12 1 3
13 1 3
14 1 3
15 1 3
16 0 ignore
17 0 ignore
I have a series df.val
with has values [0,0,1,1,1,0,0,0,0,1,1,0,1,1,1,1,0,0]
.
How to create df.groups
from df.val
.
first 0,0,1,1,1
will form group 1
,(i.e. from the beginning upto next occurrence of 0
after 1
's)
0,0,0,0,1,1
will form group 2
, (incremental group number, starting where previous group ended uptill next occurrence of 0
after 1
's),...etc
Can anyone please help.