For loop and 'numpy.float64' object is not iterable 错误

新手上路,请多包涵

我有一个简单的 for 循环来计算以 sigma 求和形式定义的 RMS(均方根):

 for i in range(int(N-(n*periyot/delta)), N+1):
    sum = np.sqrt((1 / N) * (sum((Cl[i]**2))))

然后我得到了这个错误:

 TypeError: 'numpy.float64' object is not iterable

以下是有关我的定义的一些信息:

 N=40000, n=10.0, periyot=6.451290, delta=0.005

Cl=[-21.91969   -12.452671   -7.928303  ...,  -0.0833991  -0.0579686
  -0.0823822]

原文由 user4179448 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

删除 sumCl 的每个元素都是一个浮点数,所以你不可能对它们调用 sum :

 >>> sum(2.4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'float' object is not iterable

如果您打算调用 numpy 的 广播 来执行电源操作,那么您不需要索引数组。

原文由 Moses Koledoye 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏