我有一个3d点的numpy.ndarray,即它的np.shape是(4350,3),而第二个3d点的numpy.ndarray是np.shape(10510,3)。 现在,我试图找到合适的python-package,以尽快计算第二个数组中的点中第二个数组中最近的邻居。
我在这里找到了一个非常类似的问题:find the k nearest neighbours of a point in 3d space with python numpy 但我不明白如何使用解决方案解决我的问题。
非常感谢您的帮助!
答案 0 :(得分:3)
这是KDTree
的方式:
from scipy.spatial import KDTree
data= np.random.rand(10510,3)
sample= np.random.rand(4350,3)
kdtree=KDTree(data)
然后dist,points=kdtree.query(sample,2)
将在大约一秒钟的时间内为4350名候选人提供2个最佳邻居。