I need to find n argmins in 2d array in python, how can I do that?
EXAMPLE:
a=np.array([[1, 5, 9], [2, 3, 10], [4, 11, 12]])
argmins = n_argmins(a, 5) # finding 5 argmins
print(argmins)
OUTPUT:
[[0 1]
[0 2]
[1 0]
[1 1]
[2 0]]
You can try the following:
import numpy as np
a=np.array([[1, 5, 9], [2, 3, 10], [4, 11, 12]])
np.c_[np.unravel_index(a.ravel().argsort()[:5], a.shape)]
It gives:
array([[0, 0],
[1, 0],
[1, 1],
[2, 0],
[0, 1]])