转换递增的pandas数组

NBC*_*NBC 0 python numpy pandas

我有一个专栏:

[0,0,1,2,3,0,1,0,1,2]
Run Code Online (Sandbox Code Playgroud)

每次列重新开始时,都表示新的循环.我想用递增数组表示那些循环迭代.所以第一个值是它自己的循环.第二到第五个值是它们自己循环的一部分,等等.

[1,2,2,2,2,3,3,4,4,4]
Run Code Online (Sandbox Code Playgroud)

WeN*_*Ben 5

你可以用diffcumsum

s.diff().le(0).cumsum()+1
Out[300]: 
0    1
1    2
2    2
3    2
4    2
5    3
6    3
7    4
8    4
9    4
dtype: int32
Run Code Online (Sandbox Code Playgroud)