python 移动平均函数_将简单移动平均值作为附加列添加到python数据帧

由于引用“forecast”的列值的方式不正确,您的代码给出了“keyerror”。因为第一次运行代码时,“forecast”列尚未创建,并且当它尝试引用df时

'forecast'

在这里,我们的任务是更新动态创建的名为“forecast”的新列中的值。因此,您可以在[i,'forecast']上写df.at而不是df['forecast'][i]。

代码中还有一个问题。当i的值小于period时,您将“i”分配给forecast,据我所知,这是不正确的。在这种情况下,它不应该显示任何内容。

以下是我的更正代码版本:

import pandas as pd

df = pd.read_csv("./sales.csv", index_col="time_period")

periods = df.index.tolist()

period = int(input("Enter a period for the moving average :"))

sum1 = 0

for i in periods:

print(i)

if i < period:

df.at[i,'forecast'] = ''

else:

for j in range(period):

sum1 += df['sales'][i-j]

df['forecast'][i] = sum1/period

sum1 = 0

print(df)

df.to_csv("./forecast_mannual.csv")

输入period=2计算移动平均值时的输出:

zw1Oe.png

希望这有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值