Найдите ближайшие k точек для каждой точки в строке массива numpy без нулевого значения

#python #numpy #nearest-neighbor

Вопрос:

Я пытаюсь выбрать k ближайших точек в массиве numpy 2d без нулевого значения.

мои данные следующие:

 print(data)
[[0.   0.   0.   ... 0.   0.   0.  ]
 [0.   0.   0.   ... 0.   0.   0.  ]
 [0.   0.   6.41 ... 0.   0.   0.  ]
 ...
 [0.   0.   2.99 ... 0.   0.   0.  ]
 [0.   0.   0.   ... 0.   0.   0.  ]
 [0.   0.   0.   ... 0.   0.   0.  ]]
 

Я хочу найти k ближайших соседей среди точек с более чем нулевым значением.
Как я могу справиться с этой проблемой?

Спасибо!!!

Комментарии:

1. Что вы пробовали до сих пор?

2. @JethroCao Я пробовал scipy.spatial. Кдтри и КНН из склирна. но я не мог найти ближайших соседей без нулевых значений..

3. @JethroCao О! Я решил эту проблему. когда я впервые применяю расположение точек, указывайте только расположение точек выше нуля! Спасибо!