I have two array my_arr and distances. For example:
my_arr= np.array([0, 1, 3, 4, 5, 3, 5])
distances = np.array([18, 47, 20, 10, 26, 22, 13])
I would like to get an array of indices whose shape is np.unique(my_arr).size based on the minimum distance. So in the previous example, I would get:
# indices of my_arr
indices_of_my_arr= np.array([0, 1, 2, 3, 6])
Except for loops or map is there a clever way to do this?
EDIT: Another example:
my_arr = np.array([0, 2, 3, 1, 3, 4, 4, 5])
dist = np.array([10, 12, 15, 18, 5, 14, 45, 8])
I expect:
[0, 1, 3, 4, 5, 7]