我正在尝试编写一个非常基本的最近邻计算。我基本上想看看 t 是什么样子,但我遇到了这个类型错误。当我要求函数返回时,它说“”。当我要求它转向列表时,它抛出“TypeError: iteration over a 0-d array Python”
请问我该如何解决?
...
t = np.array(map(lambda v:
map(lambda w: distance(v, w, L), x_train.values),
x_test.values))
...
最佳答案
问题是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
documentation , 所需的参数必须是:
An array, any object exposing the array interface, an object whose array method returns an array, or any (nested) sequence.
或者,使用 numpy.fromiter
并记得提供 dtype
,例如dtype=float
。
关于python - TypeError:迭代 0-d 数组 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48643256/