Pandas滚动窗口 - datetime64 [ns]未实现

Dav*_*ook 13 python time-series pandas

我正在尝试使用Python/Pandas来构建一些图表.我有每秒采样的数据.这是一个示例:

Index, Time, Value

31362, 1975-05-07 07:59:18,  36.151612
31363, 1975-05-07 07:59:19,  36.181368
31364, 1975-05-07 07:59:20,  36.197195
31365, 1975-05-07 07:59:21,  36.151413
31366, 1975-05-07 07:59:22,  36.138009
31367, 1975-05-07 07:59:23,  36.142962
31368, 1975-05-07 07:59:24,  36.122680
Run Code Online (Sandbox Code Playgroud)

我需要创建各种窗口来查看数据.10,100,1000等.不幸的是,当我试图窗口整个数据框时,我得到下面的错误...

NotImplementedError: ops for Rolling for this dtype datetime64[ns] are not implemented
Run Code Online (Sandbox Code Playgroud)

我查看了这些文档:http://pandas.pydata.org/pandas-docs/stable/computation.html作为参考,他们似乎在日期范围内这样做.我注意到它们之间的数据类型和我拥有的数据类型是不同的.

是否有捷径可寻?

理想情况下,这正是我想要做的:

tmp = data.rolling(window=2)
tmp.mean()
Run Code Online (Sandbox Code Playgroud)

我正在使用plotly绘制原始数据,然后在其上绘制窗口数据.我的目标是找到理想的窗口,用于识别数据中更清晰的趋势,消除一些噪音.

谢谢!

补充说明:

我想我需要从这种格式中获取数据:

pandas.core.series.Series到这个:

pandas.tseries.index.DatetimeIndex

piR*_*red 13

建立

from StringIO import StringIO
import pandas as pd

text = """Index,Time,Value
31362,1975-05-07 07:59:18,36.151612
31363,1975-05-07 07:59:19,36.181368
31364,1975-05-07 07:59:20,36.197195
31365,1975-05-07 07:59:21,36.151413
31366,1975-05-07 07:59:22,36.138009
31367,1975-05-07 07:59:23,36.142962
31368,1975-05-07 07:59:24,36.122680"""

df = pd.read_csv(StringIO(text), index_col=0, parse_dates=[1])

df.rolling(2).mean()
Run Code Online (Sandbox Code Playgroud)
NotImplementedError: ops for Rolling for this dtype datetime64[ns] are not implemented
Run Code Online (Sandbox Code Playgroud)

首先,这是@BrenBarn评论的确认,如果他决定发布答案,他应该得到信用.BrenBarn,如果你决定回答,我会删除这篇文章.

说明

熊猫不知道日期值的滚动意义应该是什么. df.rolling(2).mean()试图滚动和平均两个TimeValue列.错误是礼貌地(或不礼貌地,取决于你的观点)告诉你,你正在尝试一些非感性的东西.

Time列移动到索引然后......好吧就是这样.

df.set_index('Time').rolling(2).mean()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述