SyntaxError:无法分配给函数调用(For循环)

时间:2017-08-20 03:12:55

标签: python for-loop

您好我正在尝试从之前的数组创建一个新数组。这样,在新数组中,第一个元素是来自现有数组的前20个元素的平均值。这是我的代码。我不确定为什么它不起作用。

#Averages
RPMA=[]
for i in range(9580):
  for j in range (0,191600):
    a=RPM.iloc[j:j+20]
    RPMA(i)= a.mean()

2 个答案:

答案 0 :(得分:1)

在我看来,你喜欢使用错误的括号。这一行:

RPMA(i)= a.mean()

......应该是这样的:

RPMA[i]= a.mean()

但我不是Python专家。我猜它认为RPMA(i)是一个函数,因为你使用括号,在这种情况下你会尝试为函数调用赋值,就像错误所说的那样。

但是,尝试在数组末尾分配新值将导致IndexError,因为数组元素不存在,需要添加。你可以做的是:

RPMA.append(a.mean())

...将数据附加到数组的末尾(即添加新元素)。

答案 1 :(得分:0)

谢谢大家。正如大多数人所建议的那样,我在代码中进行了以下更改,现在它的工作正常!

RPMA=[]
for j in range (0,191600, 20):
    a=RPM.iloc[j:j+19]
    RPMA.append(a.mean())