因此,這是導致錯誤的代碼的一部分。分配是一個字典,其中鍵和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
提交
取消