【发布时间】:2019-11-09 23:10:11
【问题描述】:
我正在处理一个看起来像这样的大型数据集:
Time, Value
01.01.2018 00:00:00.000, 5.1398
01.01.2018 00:01:00.000, 5.1298
01.01.2018 00:02:00.000, 5.1438
01.01.2018 00:03:00.000, 5.1228
01.01.2018 00:04:00.000, 5.1168
.... , ,,,,
31.12.2018 23:59:59.000, 6.3498
数据是从一年中的first 到一年中的last 的minute 数据
我想使用Pandas 来查找每5 天的平均值。
例如:
从01.01.2018 00:00:00.000 到05.01.2018 23:59:59.000 的平均值是05.01.2018 的平均值
下一个平均值将从02.01.2018 00:00:00.000 到6.01.2018 23:59:59.000 是06.01.2018 的平均值
下一个平均值将从03.01.2018 00:00:00.000 到7.01.2018 23:59:59.000 是07.01.2018 的平均值
等等...我们将 day 增加 1,但计算从当天到过去 5 天的平均值,包括当前日期。
对于给定的一天,有 24 小时 * 60 分钟 = 1440 个数据点。所以我需要得到 1440 个数据点 * 5 天 = 7200 个数据点的平均值。
最终的 DataFrame 将如下所示,时间格式 [DD.MM.YYYY](没有 hh:mm:ss),Value 是包括当前日期在内的 5 个数据的平均值:
Time, Value
05.01.2018, 5.1398
06.01.2018, 5.1298
07.01.2018, 5.1438
.... , ,,,,
31.12.2018, 6.3498
底线是计算从今天到过去5天的数据平均值,平均值如上所示。
我尝试遍历 Python 循环,但我想要的东西比 Pandas 做得更好。
【问题讨论】:
-
@Valentino 该解决方案不起作用,因为我最终想要的解决方案不同。
duplicate的答案会为下一个15s计算,但我想要的是为接下来的 5 天计算。我们不会像问题中所述跳过一天。 -
@Alexander - 好问题。前 4 个数据将是 NAN,因为没有要取平均值的数字,因为我们正在做 5 个数字平均。
-
对不起,你是对的,不是那个副本
标签: python python-3.x pandas