不支持-元组和整数

问题描述

我已经对该错误进行了一些研究,但仍无法修复。我尝试了不同的语法和代码错误似乎出在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...