Я хочу найти k
ближайших соседей всех точек в фрейме данных A
из фрейма данных B
.Как это выполнимо?Кажется, sklearn.neighbors.NearestNeighbors
принимает только один набор данных и только одну точку запроса.
Например:
samples = [[0., 0., 0.], [0., .5, 0.], [1., 1., .5]]
from sklearn.neighbors import NearestNeighbors
neigh = NearestNeighbors(n_neighbors=1)
neigh.fit(samples)
print(neigh.kneighbors([[1., 1., 1.]]))
из Документация Python
Я хочу иметь фрейм данных с более чем одной точкой запроса вместо [[1., 1., 1.]]
PS Я хочу, чтобы метрика была Mahalanobis
, которую sklearn.neighbors.KDTree
не принимает, а scipy.spatial.KDTree
даже не имеетлюбой метрический вариант.