У меня есть два набора массивов, и я ищу индекс ближайшей точки в массиве 2 к каждому значению в массиве1, например:
import numpy as np
from scipy.spatial import distance
array1 = np.array([[1,2,1], [4,2,6]])
array2 = np.array([[0,0,1], [4,5,0], [1,2,0], [6,5,0]])
def f(x):
return distance.cdist([x], array2 ).argmin()
def array_map(x):
return np.array(list(map(f, x)))
array_map(array1)
Этот код возвращает правильные результаты, но медленный, когда оба массива очень большие. Мне было интересно, можно ли было сделать это как можно быстрее?