如何拆分数据帧,以便连续的数字各自位于自己的数据帧中?

问题描述 投票:0回答:1

我是使用 python 模块 pandas dataframes 的新手,我可能有一个愚蠢的问题。 我有一个大型数据框,其结构如下:

索引 连续数字
idx1 1
idx2 2
idx3 3
idx4 4
idx5 1
idx6 2
idx7 3
等等 等等

如何将这个单个数据帧放入多个数据帧的列表中,每个数据帧如下所示:

df1:

索引 连续数字
idx1 1
idx2 2
idx3 3
idx4 4

df2:

索引 连续数字
idx5 1
idx6 2
idx7 3

等等

棘手的部分是,并非每个数字系列都具有相同的长度,因此数据帧本身不能在每 120 行之后进行分割。

我尝试手动搜索连续数字系列的开头和结尾(使用 for 循环在数据帧中按行迭代)。但这并不是很快,我觉得必须有更好的解决方案(也许是我不知道的切片方法)。 由于我是使用数据帧的新手,因此我缺乏这种“更高级”的切片方法的经验,该方法搜索连续系列的开始和结束并将中间的数据作为新的数据帧。

python pandas dataframe slice
1个回答
1
投票

用途:

dfs = dict(iter(df.groupby((df['ConsecutiveNumbers'].diff().ne(1).cumsum()))))
© www.soinside.com 2019 - 2024. All rights reserved.