【发布时间】:2019-11-17 06:31:19
【问题描述】:
有一个时间序列捕获每秒的能量消耗,一个月的数据,加载到带有时间戳索引的 pandas 数据帧中。尝试开发一个代码,该代码将吐出每秒能量消耗大于 1500 的确切持续时间窗口窗口接近 3 小时(可能介于 2 小时 50 分钟到 3 小时 10 分钟之间)。这个窗口每天都会出现一个月,因此目标是捕获每天的确切窗口持续时间
energy_consumed
timestamp
2011-08-01 00:00:00-07:00 1322
2011-08-01 00:00:01-07:00 1322
2011-08-01 00:00:02-07:00 1328
2011-08-01 00:00:03-07:00 1328
2011-08-01 00:00:04-07:00 1328
2011-08-01 00:00:05-07:00 1328
2011-08-01 00:00:06-07:00 1328
2011-08-01 00:00:07-07:00 1320
2011-08-01 00:00:08-07:00 1320
2011-08-01 00:00:09-07:00 1320
2011-08-01 00:00:10-07:00 1320
2011-08-01 00:00:11-07:00 1320
2011-08-01 00:00:12-07:00 1320
2011-08-01 00:00:13-07:00 1320
2011-08-01 00:00:14-07:00 1320
2011-08-01 00:00:15-07:00 1320
2011-08-01 00:00:16-07:00 1320
2011-08-01 00:00:17-07:00 1318
2011-08-01 00:00:18-07:00 1318
2011-08-01 00:00:19-07:00 1318
完整的数据文件here
【问题讨论】:
-
您可以尝试遍历您的数据框并查看 energy_consumed 的连续出现在 1500 以上,并通过维护 2 个指针来跟踪此类连续行的计数,一个用于开始,另一个用于遍历行和一旦获得所需的窗口,最终保存两个指针的值。
-
虽然你的问题很有趣。如果没有样本数据,很难开发和测试解决方案。您给定的数据既不是 3 小时长,也不包含任何大于 1500 的幂。请记住提供尽可能接近您的问题描述的示例数据。
-
在帖子中添加了完整的数据集链接
标签: pandas python-2.7 time-series