错误 运行 SciPy KDTree 示例
Error running SciPy KDTree example
在 Python 3.4 上使用 Scipy,当我 运行 最小 KDTree 示例时 here:
from scipy import spatial
x, y = np.mgrid[0:5, 2:8]
tree = spatial.KDTree(zip(x.ravel(), y.ravel()))
我收到这个错误:
File "C:/_work/kdtree.py", line 9, in <module>
tree = spatial.KDTree(zip(x.ravel(), y.ravel()))
File "C:\Python34\lib\site-packages\scipy\spatial\kdtree.py", line 229, in __init__
self.n, self.m = np.shape(self.data)
ValueError: need more than 0 values to unpack
我做错了什么?我尝试将两者与 scipy 14.0 和 15.1
一起使用
这是文档字符串中的错误。 KDTree
的参数必须是"array_like",但是在Python3中,zip
返回的对象不是"array_like"。您可以将示例更改为
tree = spatial.KDTree(list(zip(x.ravel(), y.ravel())))
或者,您可以使用 np.column_stack
:
而不是使用 zip
创建 KDTree
的输入
x, y = np.mgrid[0:5, 2:8]
xy = np.column_stack((x.ravel(), y.ravel()))
tree = spatial.KDTree(xy)
无论进行哪种更改,示例的其余部分都应该有效。
在 Python 3.4 上使用 Scipy,当我 运行 最小 KDTree 示例时 here:
from scipy import spatial
x, y = np.mgrid[0:5, 2:8]
tree = spatial.KDTree(zip(x.ravel(), y.ravel()))
我收到这个错误:
File "C:/_work/kdtree.py", line 9, in <module>
tree = spatial.KDTree(zip(x.ravel(), y.ravel()))
File "C:\Python34\lib\site-packages\scipy\spatial\kdtree.py", line 229, in __init__
self.n, self.m = np.shape(self.data)
ValueError: need more than 0 values to unpack
我做错了什么?我尝试将两者与 scipy 14.0 和 15.1
一起使用这是文档字符串中的错误。 KDTree
的参数必须是"array_like",但是在Python3中,zip
返回的对象不是"array_like"。您可以将示例更改为
tree = spatial.KDTree(list(zip(x.ravel(), y.ravel())))
或者,您可以使用 np.column_stack
:
zip
创建 KDTree
的输入
x, y = np.mgrid[0:5, 2:8]
xy = np.column_stack((x.ravel(), y.ravel()))
tree = spatial.KDTree(xy)
无论进行哪种更改,示例的其余部分都应该有效。