所以这是导致错误的代码的一部分。 分配是一个字典,其中键和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)
答案 0 :(得分:0)
问题出在for m in clust_sum
中,clust_sum
是int
,您无法遍历int
对象。我不确定您要做什么,但是如果您要运行for loop
次clust_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)
。