什么是具有1m数据和1小时时间偏移的熊猫滚动均值算法

时间:2019-03-22 19:08:27

标签: python pandas datetime moving-average rolling-computation

我试图弄清楚pandas用于具有时间偏移量的滚动均值的算法,因为手动计算时会得到意外的结果。

我的数据在数据框中格式化,其值的粒度为1分钟,如下所示:

Datetime            Values
2018-02-02 21:27:00 3175.068017
2018-02-02 21:28:00 3163.183960
2018-02-02 21:29:00 3175.972021
2018-02-02 21:30:00 3188.535987
2018-02-02 21:31:00 3192.447974

列的dtype是:

Datetime is datetime64[ns]
Values is float64

有时时间序列是不规则的(跳过一分钟-或更长的时间),因此我尝试将时间偏移量用于滚动平均值。我想要1小时滚动平均值,我使用的命令是:

df.rolling('H').mean()

我的理解是,该默认设置为min_periods=1。我已经尝试了1分钟的滚动平均值,并且恢复了预期。但是对于1个小时,我没有达到我的期望,但是我也不知道它在使用哪种算法。

因此,对于min_periods=1,我期望计算为:

Datetime              Avg         Interval
2018-02-02 21:27:00   3216.71147  [21:27-22:26]
2018-02-02 21:28:00   3217.57497  [21:28-22:27]
2018-02-02 21:29:00   3219.08083  [21:29-22:28]

大熊猫给了我

Datetime            Avg
2018-02-02 21:27:00 3175.068017 # Same as Raw
2018-02-02 21:28:00 3169.125989
2018-02-02 21:29:00 3171.408000
2018-02-02 21:30:00 3175.689996

我认为可能是假设21:00-21:59,但该窗口中的平均值为3190.77915。我基本上只是想确定大熊猫在1H滚动平均粒度下对我的1m数据实际上正在做什么,因为这不是我期望的。

0 个答案:

没有答案