我有一个这样的数据框
df
col1 col2 col3
1 2 3
2 5 6
7 8 9
10 11 12
11 12 13
13 14 15
14 15 16
现在,当两个连续行的col1差大于1时,我想从上面创建多个数据帧。 因此,结果数据帧将如下所示:
df1
col1 col2 col3
1 2 3
2 5 6
df2
col1 col2 col3
7 8 9
df3
col1 col2 col3
10 11 12
11 12 13
df4
col1 col2 col3
13 14 15
14 15 16
我可以使用for循环和存储索引来实现这一点,但这将增加执行时间,寻找一些快捷方式或python方式来最有效地实现这一点
您还可以剥离目标列并将其作为一个系列处理,而不是上面的答案。这使一切都变得更小。在这个示例中,它运行得更快,但我不知道它们将如何扩展,这取决于拆分的次数
(只是在之后将其放入数据帧的元组中,但字典方法可能更好?)
您可以通过取^{} ,检查它何时大于} 来定义自定义grouper。然后根据结果分组并从groupby对象构建字典:
1
,并取布尔序列的^{更详细的细分:
相关问题 更多 >
编程相关推荐