Ich muss den Index von mehr als einem Mindestwert finden, der in einem Array vorkommt. Ich bin mit np.argmin
ziemlich bekannt, aber es gibt mir den Index des ersten Minimalwerts in einem Array. Zum Beispiel.
a = np.array([1,2,3,4,5,1,6,1])
print np.argmin(a)
Dies gibt mir 0, stattdessen erwarte ich 0,5,7.
Vielen Dank!
Das sollte den Trick tun:
a = np.array([1,2,3,4,5,1,6,1])
print np.where(a == a.min())
argmin gibt keine Liste zurück, wie Sie es in diesem Fall erwarten.
Könnte sein
mymin = np.min(a)
min_positions = [i for i, x in enumerate(a) if x == mymin]
Es wird [0,5,7] geben.
Ich denke, das wäre der einfachste Weg, obwohl er keine ausgefallene numpy-Funktion verwendet
a = np.array([1,2,3,4,5,1,6,1])
min_val = a.min()
print "min_val = {0}".format(min_val)
# Find all of them
min_idxs = [idx for idx, val in enumerate(a) if val == min_val]
print "min_idxs = {0}".format(min_idxs)