我是使用 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 循环在数据帧中按行迭代)。但这并不是很快,我觉得必须有更好的解决方案(也许是我不知道的切片方法)。 由于我是使用数据帧的新手,因此我缺乏这种“更高级”的切片方法的经验,该方法搜索连续系列的开始和结束并将中间的数据作为新的数据帧。
用途:
dfs = dict(iter(df.groupby((df['ConsecutiveNumbers'].diff().ne(1).cumsum()))))