提取具有连续数字的行pandas df



我有一个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   -]

最新更新