0

我正在编写代码来确定集合'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
4

1 回答 1

1

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

顺便说一句,数组 npA 的构造对我来说似乎很奇怪。你可以得到相同的结果只是写:[pA[0]]

于 2018-08-14T12:48:45.183 回答