【问题标题】:how to set up rolling on a pandas dataframe如何在熊猫数据框上设置滚动
【发布时间】:2021-02-02 19:38:13
【问题描述】:

我使用以下源代码在数据帧上滚动创建了移动平均线

    ma = produksi.price.rolling(window=3).mean()
    hasil = hasil.append(ma)
    mape= abs((produksi.price-ma)/produksi.price)

[![在此处输入图片描述][1]][1]

但是移动平均的结果是这样的,计算是正确的,但是位置和预期的不一样

我想要这样的结果 [![在此处输入图片描述][2]][2]

计算第四个数据预测中的误差值 [1]:https://i.stack.imgur.com/d8FBf.png [2]:https://i.stack.imgur.com/CalcT.png

【问题讨论】:

标签: python pandas moving-average


【解决方案1】:

我认为如果您将closed='left' 参数添加到滚动方法中,您将获得所需的结果。

pandas rolling documentation

df = pd.DataFrame({'price': [3290, 3380, 3380, 3360, 3340, 3290, 3300]})
df['mean'] = df['price'].rolling(window=3, closed='left').mean()

输出

print(df)
   price         mean
0   3290          NaN
1   3380          NaN
2   3380          NaN
3   3360  3350.000000
4   3340  3373.333333
5   3290  3360.000000
6   3300  3330.000000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 1970-01-01
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    相关资源
    最近更新 更多