运行SciPy KDTree示例时出错

运行SciPy KDTree示例时出错,scipy,python-3.4,kdtree,Scipy,Python 3.4,Kdtree,使用Python 3.4上的Scipy,当我运行最小KDTree示例时: 我得到这个错误: 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 = n

使用Python 3.4上的Scipy,当我运行最小KDTree示例时:

我得到这个错误:

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
文件“C://\u work/kdtree.py”,第9行,在
tree=spatial.KDTree(zip(x.ravel(),y.ravel())
文件“C:\Python34\lib\site packages\scipy\spatial\kdtree.py”,第229行,在\uuu init中__
self.n,self.m=np.shape(self.data)
ValueError:需要0个以上的值才能解包

我做错了什么?我尝试在scipy 14.0和15.1中同时使用这两种版本,这是文档字符串中的一个错误。
KDTree
的参数必须是“array_like”,但在Python 3中,
zip
返回的对象不是“array_like”。您可以将示例更改为

tree = spatial.KDTree(list(zip(x.ravel(), y.ravel())))
或者,您可以使用,例如,
np.column\u stack
,而不是使用
zip
来创建
KDTree
的输入:

x, y = np.mgrid[0:5, 2:8]
xy = np.column_stack((x.ravel(), y.ravel()))
tree = spatial.KDTree(xy)
无论是哪种更改,示例的其余部分都应该可以工作

x, y = np.mgrid[0:5, 2:8]
xy = np.column_stack((x.ravel(), y.ravel()))
tree = spatial.KDTree(xy)