不一致时间序列上带Pandas的Python-EMA

不一致时间序列上带Pandas的Python-EMA,python,pandas,dataframe,Python,Pandas,Dataframe,我试图计算熊猫数据框中给定数据集的EMA。我想要的alpha是1分钟,所以在一个完美的世界中,我会将60的跨度传递给EWMA函数 问题是,我的时间序列是不一致的——从某种意义上说,它不能“平稳”地从一秒移动到下一秒。比如说- (Date | Value) 2015-05-27 05:14:35 | 5 2015-05-27 05:14:59 | 5.5 2015-05-27 05:15:30 | 5.2 2015-05-27 05:15:40 | 5.1 我明白了@EdChum在《熊猫》中推荐了

我试图计算熊猫数据框中给定数据集的EMA。我想要的alpha是1分钟,所以在一个完美的世界中,我会将60的跨度传递给EWMA函数

问题是,我的时间序列是不一致的——从某种意义上说,它不能“平稳”地从一秒移动到下一秒。比如说-

(Date | Value) 2015-05-27 05:14:35 | 5 2015-05-27 05:14:59 | 5.5 2015-05-27 05:15:30 | 5.2 2015-05-27 05:15:40 | 5.1
我明白了@EdChum在《熊猫》中推荐了这种方法,这正是我想要的

import pandas

df = pandas.read_csv("data.csv")
dff = df.resample("S", fill_method='pad')
“fill_method”选项可防止生成“新”值

所以现在像这样的数据帧

2015-05-27 05:14:35 | 5 2015-05-27 05:14:41 | 5.5 2015-05-27 05:14:35 | 5 2015-05-27 05:14:36 | 5 2015-05-27 05:14:37 | 5 2015-05-27 05:14:38 | 5 2015-05-27 05:14:39 | 5 2015-05-27 05:14:40 | 5 2015-05-27 05:14:41 | 5.5 2015-05-27 05:14:35 | 5 2015-05-27 05:14:41 | 5.5 看起来像这样

2015-05-27 05:14:35 | 5 2015-05-27 05:14:41 | 5.5 2015-05-27 05:14:35 | 5 2015-05-27 05:14:36 | 5 2015-05-27 05:14:37 | 5 2015-05-27 05:14:38 | 5 2015-05-27 05:14:39 | 5 2015-05-27 05:14:40 | 5 2015-05-27 05:14:41 | 5.5 2015-05-27 05:14:35 | 5 2015-05-27 05:14:36 | 5 2015-05-27 05:14:37 | 5 2015-05-27 05:14:38 | 5 2015-05-27 05:14:39 | 5 2015-05-27 05:14:40 | 5 2015-05-27 05:14:41 | 5.5
您可以添加每行60秒组所属的顺序变量,然后按该顺序值分组,并在整个组中逐组应用平均值函数。一个简单的方法是将datetime值转换为最小datetime值之后的秒数,然后进行整数除60。我想您想知道如何解释丢失的数据(没有收到更新值时的秒间隔)?向前填充?@EdChum是的,是重采样,谢谢@亚历山大,我想补一下。试图找出如何通过重采样来实现这一点。