numpy 模块的 nd 数组对象

nd array object of numpy module

我正在编写代码以查明集合 'pA' 中的点 'npA' 是否具有包含随机生成的点的集合 'pB' 中的最近邻居。 (在代码中我有一个点,但在我的应用程序中,这些点是随机生成的)。我的问题是我无法从 cKDTree.query_ball_point 结果中 view/access 结果列表。

在我的变量资源管理器中,结果显示类型为 object,值显示为 ndarray object of numpy module。当我尝试 view/access 这个列表时,即 result,会弹出一个 window,上面写着 object arrays are currently not supported。我想知道如何查看此列表或将其转换为数组以便稍后进行一些分析。

from scipy.spatial import cKDTree
import numpy as np

pA = np.array([[0.000,0.000],[0.300,0.000],[0.600,0.000],[0.000,0.300], [0.300,0.300],[0.600,0.300],[0.000,0.600],[0.300,0.600],[0.600,0.600]])

pB = np.array([[0.300,0.600]])
npA =[[pA[0,0],pA[0,1]]]
npA = np.array(npA)

tree = cKDTree(npA)
result = tree.query_ball_point(pB,0.100) #I wish to view the list stored in result

我不确定我是否正确理解了你的问题,只是写下: print(result) 运行 您的命令行代码给出:[list([])],并将距离值从 0.1(没有如此接近的点)更改为 1.0 给出 [list([0L])],其中 0是列表中最近邻居的位置。

顺便说一句,npA 数组的构造对我来说似乎很奇怪。您只需编写即可获得相同的结果:[pA[0]].