Я пытаюсь отфильтровать numpyarray на основе вывода (numpyarray).Вот мой код
res = pd.DataFrame({'Listing': [], 'Neighbors': []})
listi = 'LI00000F4KP4'
a = data[data.ListingID == listi]
c = np.array(data[['x','y']])
#Building the tree
tree = cKDTree(c)
item = data[data.ListingID == listi][['x','y']]
a,b = tree.query(item, k=20, distance_upper_bound= 5.015)
res = res.append({'Listing': listing, 'Neighbors':c[b]})
Когда я пытаюсь отфильтровать кадр данных C на основе B (C [B]), получаю ошибку индекса.IndexError: индекс 6836 выходит за пределы оси 0 с размером 6836.
a = array([[0. , 2.55278673, 4.16013993, 4.40220405, inf,
inf, inf, inf, inf, inf,
inf, inf, inf, inf, inf,
inf, inf, inf, inf, inf]])
b = array([[ 2, 3147, 6620, 1807, 6836, 6836, 6836, 6836, 6836, 6836, 6836,
6836, 6836, 6836, 6836, 6836, 6836, 6836, 6836, 6836]])
c.shape = (6836, 2)
Как можно устранить эту ошибку индекса.Я знаю, что проблема с индексацией C и B, но я не знаю, как ее устранить.Любая помощь будет оценена.