我有一个pandas数据框架,结构如下:
num mut
3 -
4 -
5 -
26 -
27 -
30 -
31 -
32 -
我必须提取连续的"num"把它们放在其他的df里。在这种情况下,我必须获得三个dfs。
:
num mut
3 -
4 -
5 -
第二:
num mut
26 -
27 -
第三:
num mut
30 -
31 -
32 -
我怎样才能做到呢?
你可以试试
m = ~df['num'].diff().fillna(0).le(1)
dfs = [df for _, df in df.groupby(m.cumsum())]
print(dfs)
[ num mut
0 3 -
1 4 -
2 5 -, num mut
3 26 -
4 27 -, num mut
5 30 -
6 31 -
7 32 -]