Чтобы найти индекс наименьшего значения, я могу использовать argmin
:
import numpy as np
A = np.array([1, 7, 9, 2, 0.1, 17, 17, 1.5])
print A.argmin() # 4 because A[4] = 0.1
Но как я могу найти индексы k-наименьших значений?
Я ищу что-то вроде:
print A.argmin(numberofvalues=3)
# [4, 0, 7] because A[4] <= A[0] <= A[7] <= all other A[i]
Примечание: в моем случае использования A имеет значение от ~ 10 000 до 100 000, и меня интересуют только индексы k = 10 наименьших значений. k никогда не будет > 10.