【问题标题】:Rolling Mean with upcoming values - Python 3, Pandas即将到来的值的滚动平均值 - Python 3,Pandas
【发布时间】: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 上找到解决方案,但作为一门语言的初学者,总是很难找到正确的信息位置。

大卫

【问题讨论】:

标签: python-3.x pandas mean


【解决方案1】:

只是为了展示 Ben.T 已经提出的建议

import pandas as pd
import random as r

d = [r.random() for i in range(0,100)]
df = pd.DataFrame(d, columns=['Values'])

获取当前值前后的10个值

s=10
df['rolling mean'] = df['Values'].shift(-s).rolling(2s+1).mean()

【讨论】:

    猜你喜欢
    • 2023-02-08
    • 2019-06-16
    • 2018-05-08
    • 1970-01-01
    • 2019-09-04
    • 2021-07-01
    • 2019-01-22
    • 2019-12-16
    相关资源
    最近更新 更多