如何基于时间间隔拆分 Pandas 数据框

3
我有一个包含“DATE_TIME”列的pandas数据框架。
DATE_TIME SAMPLE VALUE
2020-12-10 10:52:48 1 3.22
2020-12-10 10:52:54 2 2.93
2020-12-10 10:53:00 3 2.27
我想在时间间隔大于5分钟时将数据框拆分为不同的数据框。
我发现这篇帖子非常有用,但它没有解决我的问题,因为它没有创建数据框。我找不到错误:
all_data["DATE_TIME"] = pd.to_datetime(all_data["DATE_TIME"])

group_samples = (all_data["DATE_TIME"].dt.minute > (all_data["DATE_TIME"].dt.minute.shift() + 5)).cumsum()
grouped = all_data["DATE_TIME"].dt.minute.groupby(group_samples)
group_list = [g for k,g in grouped]
group_list[2]

Out[]
1097    53
1100    53
1103    53
1106    54
1109    54
1112    54
1115    54
1118    54
1121    54
1124    54
1127    55
1130    55
...

非常感谢您的帮助!

grouped = all_data["DATE_TIME"].dt.minute.groupby(group_samples) should just be grouped = all_data.groupby(group_samples) - Asish M.
1个回答

1

grouped = all_data.groupby(group_samples) 是正确的写法,不应该只对分钟进行分组,否则输出结果将仅包含拆分数据框的分钟部分。

通过将完整的数据框按照 group_samples 进行分组,可以获得输出中的所有列。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接