найти ближайшего соседа для питона numpy.ndarray в 3d-пространстве - PullRequest
0 голосов
/ 09 января 2019

У меня есть numpy.ndarray из 3d-точек, то есть np.shape его (4350,3) и такой второй numpy.ndarray из 3d-точек np.shape (10510,3). Сейчас я пытаюсь найти правильный пакет python для максимально быстрого вычисления ближайших соседей во втором массиве точек в первом массиве.

Я нашел довольно похожий вопрос: найдите k ближайших соседей точки в трехмерном пространстве с помощью python numpy но я не понимаю, как использовать решение для моей проблемы.

Я очень, очень ценю вашу помощь в этом!

1 Ответ

0 голосов
/ 09 января 2019

Вот способ 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) даст вам 2 лучших соседа для 4350 кандидатов примерно за одну секунду.

...