pandas 求连续区间并给予id

omqzjyyz  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(176)

我想对每个连续区域进行分组,并为每个区域分配一个id
例如,可以使用以下数据集。

df = pd.Series(data = [0,1,1,1,2,2,2,16,17,18,18,18,18,1,1,1,1,2,2,200,201,3,4])

输出应该是

pd.Series(data = [0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,4,4])

我试着用那个密码,但没用,

df= pd.concat([df, (df==0).cumsum()], axis = 1, keys = ['val', 'flag']>
muk1a3rh

muk1a3rh1#

IIUC您想要检测变化大于1的点。您可以通过一系列简单的算术运算来实现:

df.sub(df.shift(1)).abs().gt(1).cumsum()

相关问题