numpy模块的nd数组对象

时间:2018-08-14 12:20:47

标签: python closest-points

我正在编写代码以找出集合“ 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

1 个答案:

答案 0 :(得分:0)

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

顺便说一句,数组npA的构造对我来说似乎很奇怪。只需编写:[pA[0]]