根据列表结果中的前一项计算结果
Calculate result according to previous item in the list result
我 运行 在对数字列表进行计算时遇到了一些麻烦。初始列表对应于温度数据,我需要每天计算 运行 平均温度。 运行 每天的平均值取决于前一天的 运行 平均值以及前一天的温度(和常数)。
考虑到我有一个包含温度的列表,我将列表定义为运行均值作为副本,然后根据公式替换每个项目。
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 行的迭代出现以下错误:
期望的索引值,得到了浮点数
知道哪里出了问题吗?可能这是一个基本的错误,但我已经挠头几天了。
非常感谢!
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
来代替尝试查看结果。
在您的代码中,RunningMean [1:3]
returns [13, 15]
是 RunningMean
.
的切片版本
你应该做的是将for循环中的RunningMean[1:3]
替换为range(1,len(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 行的迭代出现以下错误: 期望的索引值,得到了浮点数
知道哪里出了问题吗?可能这是一个基本的错误,但我已经挠头几天了。
非常感谢!
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
来代替尝试查看结果。
在您的代码中,RunningMean [1:3]
returns [13, 15]
是 RunningMean
.
你应该做的是将for循环中的RunningMean[1:3]
替换为range(1,len(RunningMean))
。它会给你想要的结果。