问题描述
我已经对该错误进行了一些研究,但仍无法修复。我尝试了不同的语法和代码。错误似乎出在mean_value =和std_value =行上。
# Moving Mean
for i in enumerate(inputs_filtered):
mean_value = sum(inputs_filtered[i-smoothing:i])/smoothing
# Standard Deviation
for i in enumerate(inputs_filtered):
std_value = math.sqrt(sum((inputs_filtered[i-smoothing:i])-mean_value)/smoothing)
解决方法
您的问题是在列表上使用enumerate
返回一个元组,而不仅仅是您期望的i
,它返回索引和该索引的值。
因此,在您的情况下,i
是一个元组,而您正在尝试从一个元组中减去smoothing
例如:
for index,val in enumerate([10,20,30,40,50]):
print(index,val)
0 10
1 20
2 30
3 40
4 50
如果您需要迭代并获取每个索引的值,请使用:
for value in inputs_filtered:
# do something...