我在计算数字列表时遇到了一些麻烦。初始列表对应于温度数据,我需要每天计算RunningMean温度。每天的运行平均值取决于前一天的运行平均值以及前一天的温度(和常数)。
考虑到我有一个带温度的列表,我将列表RunningMean定义为副本,然后根据公式替换每个项目。
Temperature = [14.5, 13, 15, 16]
RunningMean = Temperature
RMConstant = 0.8
for i in RunningMean [1:3]:
RunningMean [i] = (1-RMConstant)*Temperature[i-1]+RMConstant*RMean[i-1]
#I skip the first item to avoid problems when calling i-1 index
#Replace each item in RunningMean with the result of the formula
由于某种原因,第5行的迭代给出了以下错误: 预期指数值,浮动
任何出错的想法?可能这是一个基本的错误,但我已经抓了几天了。
非常感谢!
答案 0 :(得分:0)
Temperature = [14.5, 13, 15, 16]
RunningMean = Temperature
RMConstant = 0.8
for i in range(1,len(RunningMean)):
RunningMean [i] = (1-RMConstant)*Temperature[i-1]+RMConstant*RunningMean[i-1]
我不知道RMean
是什么,所以我在尝试时使用RunningMean
来查看结果。
答案 1 :(得分:0)
在您的代码中,RunningMean [1:3]
返回[13, 15]
,RunningMean
的切片版本。
您应该在for循环中代替RunningMean[1:3]
,而是将其替换为range(1,len(RunningMean))
。它会给你想要的结果。