【发布时间】:2017-08-03 16:47:16
【问题描述】:
我正在使用 Pandas 处理一些时间序列数据。我有以下格式的数据框:
Date Time Reading
552726 2016/08/01 0: 0: 0 17.28
552727 2016/08/01 0: 0: 5 17.28
552728 2016/08/01 0: 0:10 17.21
552729 2016/08/01 0: 0:15 17.16
552730 2016/08/01 0: 0:20 17.11
552731 2016/08/01 0: 0:25 17.08
552732 2016/08/01 0: 0:30 17.18
552733 2016/08/01 0: 0:35 17.18
etc...
我想对 Reading 列进行平均,这样它需要一个 10 分钟的窗口并计算平均值,我想在时间序列中移动这个窗口。然后我想用新的平均值和时间戳来更新数据框,所以它看起来像这样:
Date Time Reading
552726 2016/08/01 0: 0: 0 17.30
552727 2016/08/01 0: 10:0 17.35
552728 2016/08/01 0: 20:0 17.20
etc...
在 Pandas 中执行此操作的最佳方法是什么?我尝试了滚动平均方法为滚动窗口设置频率。但是我必须自己重建数据框,使用新的时间戳,我认为有一种更清洁、更简单的方法来做到这一点。
谢谢,如果我能更好地说明问题,请告诉我。
【问题讨论】:
-
你是否总是每 5 秒观察一次?
-
是的。采样率为 1 个样本/5 秒
-
那你为什么不用120观察滚动窗口呢?
-
我试过了,但它没有更新日期和时间。它计算平均值,但不会更新我的数据框。我基本上得到了一堆 NAN,然后是平均值。所以我必须拉出这些,并创建一个具有适当时间戳的新系列。我想知道是否有更好的方法来做到这一点。
标签: python-2.7 pandas