【发布时间】:2021-02-28 14:08:13
【问题描述】:
我想将具有DatetimeIndex 的熊猫系列窗口化到最后 X 秒。通常我会使用pandas.Series.rolling 进行窗口化。但是,日期时间索引不是等距的,这意味着我无法以可靠的方式计算数据点的数量。如何实现基于时间的窗口化(例如,通过实现 BaseIndexer 子类并将其传递给 rolling() 的 window 参数)?
【问题讨论】:
-
df.rolling('2s')这样的东西不工作吗?这里的“2s”表示最后2秒 -
不,它没有。如果您查看 API,
window必须是一个 int 或 BaseIndexer 子类的实例。 -
内置的 BaseIndex 子类 github.com/pandas-dev/pandas/blob/master/pandas/core/window/… 也没有帮助。
-
文档(您共享的链接)最后有一个带有
df.rolling('2s')的示例 - 虽然我还没有尝试过 -
这个例子适用于数据框,我完全忽略了它。但是似乎也适用于系列。我得到了一个
Rolling对象实例,但我需要以某种方式将它转换回 pd.Series。
标签: python python-3.x pandas time-series