numpy 模块的 nd 数组对象



我正在编写代码来找出集合"pA"中的点"npA"是否与包含随机生成的点的集合"pB"最接近。(在代码中,我有一个点,但在我的应用程序中,这些点是随机生成的(。我的问题是我无法从cKDTree.query_ball_point结果中查看/访问结果列表。

在我的变量资源管理器中,结果将类型显示为object,值显示为ndarray object of numpy module。当我尝试查看/访问此列表时,即result,弹出一个窗口,上面写着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]].

最新更新