微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TypeError:在0维数组Python上进行迭代

如何解决TypeError:在0维数组Python上进行迭代

问题是np.array不带迭代器,需要先转换为list,如下所示:

t = np.array(list(map(lambda v: map(lambda w: distance(v, w, L),
                      x_train.values), x_test.values)))

根据numpy.array文档,必需的参数必须是:

数组,任何公开数组接口的对象,其数组方法返回数组的对象或任何(嵌套)序列。

或者,使用numpy.fromiter并记住提供dtype,例如dtype=float

解决方法

我正在尝试编写一个非常基本的最近邻居计算。我基本上想看看t是什么样子,但出现此类型错误。当我要求功能返回时,它说“”。当我要求它列出来时,抛出“
TypeError:在0维数组Python上进行迭代”

我该如何解决?

...

t = np.array(map(lambda v:
             map(lambda w: distance(v,w,L),x_train.values),x_test.values))

...

完整跟踪:
在此处输入图片说明

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。