因此,这是导致错误的代码的一部分。分配是一个字典,其中键和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 回答
温温酱
TA贡献1752条经验 获得超4个赞
问题出在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)
添加回答
举报
0/150
提交
取消