为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕村9548890 2021-03-31 16:08:10
因此,这是导致错误的代码的一部分。分配是一个字典,其中键和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贡献1826条经验 获得超6个赞

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


查看完整回答
反对 回复 2021-04-20
?
温温酱

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)


查看完整回答
反对 回复 2021-04-20
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信