【发布时间】:2020-06-05 09:23:33
【问题描述】:
我有一个 Pandas 数据框,其中包含 5 分钟的数据。数据样本看起来像
timestamp,name,value
2020-04-30 00:00:00,a,21.1018
2020-04-30 00:05:00,a,-3.7804
2020-04-30 00:10:00,a,2.6110
2020-04-30 00:15:00,a,-20.0046
2020-04-30 00:20:00,a,-21.7144
2020-04-30 00:25:00,a,22.2500
2020-04-30 00:30:00,a,16.9082
2020-04-30 00:35:00,a,14.8040
2020-04-30 00:40:00,a,7.3906
2020-04-30 00:45:00,a,97.7612
2020-04-30 00:50:00,a,6.0274
2020-04-30 00:55:00,a,24.4248
2020-04-30 01:00:00,a,173.8800
2020-04-30 01:05:00,a,155.7417
我想要做的是从 00:05 到 01:00 获取数据并获取它的平均值,并对一天中的所有此类时间间隔执行相同操作,基本上是 yyyy-mm-dd hh: 05 至 yyyy-mm-dd (hh + 1):00。我不能假设数据帧的数据会在特定时间点开始或结束,但可以保证 5 分钟的间隔。如果有其他方法,则不必对 Pandas 执行此操作。
给定数据的预期输出为 26.71,因此选择 00:05 到 01:00 之间的时间间隔并取值的平均值。然后我会整天重复这个。
【问题讨论】:
-
请发布预期输出
-
你能澄清一下到底是什么问题吗?
-
这是模棱两可的。如果有时间戳
... hh:01的数据怎么办?实际上,我最好的猜测是你想要... hh:00 < t <= ... (hh+1):00或... hh:05 <= t < ... (hh+1):05 -
@no1xsyzy 我可以假设 5 分钟的间隔不是数据中的开始时间或结束时间,但更笼统地说
... hh:05 <= t < ... (hh+1):05也是正确的。 -
@AMC 主要问题是选择所描述的时间范围的好方法,对于一整天的数据,假设数据可以有任意的开始和结束 5 分钟间隔。