具有时间偏移熊猫的滚动平均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有时间偏移熊猫的滚动平均值相关的知识,希望对你有一定的参考价值。

我有一个pandas中的时间戳和值的数据集。时间戳之间的间隔在大约一年的总时间跨度内是~12秒,但有时会有缺失点(即,时间序列是不规则的,因此我不能使用固定的窗口大小)。

我想计算超过1分钟间隔的值的滚动平均值,但我没有得到我预期的行为。我发现了一个类似的问题here,但那是使用总和和前熊猫0.19.0。我正在使用Pandas 0.23.4。

样本数据

Time, X
2018-02-02 21:27:00,    75.4356
2018-02-02 21:27:12,    78.29821
2018-02-02 21:27:24,    73.098345
2018-02-02 21:27:36,    78.3331
2018-02-02 21:28:00,    79.111

请注意,2018-02-02 21:27:48缺失。

对于滚动总和,我可以用0填充缺失值但是对于均值,我不希望将缺失点计为实际数据点(例如,我希望窗口为和(在给定间隔内的数据点) )/间隔中的数据点数)。

我想在不同的时间段(即1分钟,5分钟,15分钟,1小时等)进行此操作。

我得到的最接近的实际值是:

df['rolling_avg']=df.rolling('1T',on='Time').X.mean()

我的理解是,这将是1分钟的滚动平均值。

但是,我不知道如何解释输出。我本来期望NaNs在前1 + 1分钟,因为没有什么可以基于滚动平均值而是我有值。

产量

    Time                X         rolling_avg
0   2018-02-02 21:27:00 75.4356   75.435600
1   2018-02-02 21:27:12 78.29821  76.866905
2   2018-02-02 21:27:24 73.098345 75.610718
3   2018-02-02 21:27:36 78.3331   76.291314
4   2018-02-02 21:28:00 79.111    77.210164

基本上,在这个输出中,df[1].rolling_avg(Value[0]+Value[1])/2,虽然间隔是12秒,而不是1分钟。

有没有办法做我想做或做的事情我需要写一个for循环手动执行此操作?

以上是关于具有时间偏移熊猫的滚动平均值的主要内容,如果未能解决你的问题,请参考以下文章

熊猫 - 计算每小时平均滚动 10 分钟

在多个日期窗口上应用熊猫滚动的更快方法

熊猫滚动平均值不适用于我的时间数据系列

熊猫滚动加权平均值

如何在熊猫中获得连续滚动平均值?

特定列上熊猫的滚动平均值