对于一个numpy,获取“ int”对象不是可迭代的错误

时间:2018-07-01 03:01:01

标签: python numpy

所以这是导致错误的代码的一部分。 分配是一个字典,其中键和numpy数组的索引作为项目。 数据和质心是数组。

我无法弄清楚为什么会出现错误 当执行“ try”行时,“ int”对象不可迭代。有时它可以正常工作,但有时却不行。 任何帮助将不胜感激

for key in self.assignments:
    clust_sum = 0
    for k in self.assignments[key]:
        clust_sum += data[k]
    print(key, clust_sum)
    try:
        self.centroids[key] = [
        m / len(self.assignments[key]) for m in clust_sum]
    except Exception as e:
        print(e)

2 个答案:

答案 0 :(得分:0)

问题出在for m in clust_sum中,clust_sumint,您无法遍历int对象。我不确定您要做什么,但是如果您要运行for loopclust_sum次,您可以这样做:

for key in self.assignments:
clust_sum = 0
for k in self.assignments[key]:
    clust_sum += data[k]
print(key, clust_sum)
try:
    self.centroids[key] = [
    m / len(self.assignments[key]) for m in range(clust_sum)]
except Exception as e:
    print(e)

答案 1 :(得分:0)

for m in clust_sum替换for m in range(0,clust_sum)