【发布时间】:2019-08-10 09:11:04
【问题描述】:
这是我与 python/Panda 相关的第一个问题。我是初学者,但我会尝试解释我希望简单的问题。我喜欢滚动窗口函数,现在像这样使用它来计算平均值:
import pandas as pd
import random as r
d = [r.random() for i in range(0,100)]
df = pd.DataFrame(d, columns=['Values'])
df['rolling mean'] = df['Values'].rolling(30).mean()
df['Values'] 是带有随机浮点数的列(用于测试目的)。旨在将“值”列的滚动平均值写入“滚动平均值”列。这完美!它现在非常酷且超级高效。但我想知道是否有可能考虑未来值(窗外)之类的东西。
所以我的问题是:
有没有一种简单且高效的方法来计算平均值 滚动列的未来/未来值?
类似:
> ( t-1 + t0 + t+1 ) / 3
谢谢,我试图在 API 和 SO 上找到解决方案,但作为一门语言的初学者,总是很难找到正确的信息位置。
大卫
【问题讨论】:
-
IIUC,您只需要
shift金额的“滚动平均值”列中的值,您想要。我认为像您的示例一样,窗口为 3,您可以在原始命令之后添加.shift(-1)。
标签: python-3.x pandas mean