Ich versuche, die Indizes des maximalen Elements in einem Numpy-Array abzurufen. Dies kann mit erfolgen numpy.argmax
. Mein Problem ist, dass ich das größte Element im gesamten Array finden und die Indizes dafür erhalten möchte.
numpy.argmax
kann entweder entlang einer Achse angewendet werden, was nicht das ist, was ich will, oder auf das abgeflachte Array, was genau das ist, was ich will.
Mein Problem ist, dass die Verwendung numpy.argmax
mit axis=None
den flachen Index zurückgibt, wenn ich den mehrdimensionalen Index möchte.
Ich könnte verwenden divmod
, um einen nicht flachen Index zu erhalten, aber das fühlt sich hässlich an. Gibt es einen besseren Weg, dies zu tun?
quelle
==
, und ein drittes Mal, um dieTrue
Werte aus diesem Ergebnis zu extrahieren . Beachten Sie, dass möglicherweise mehr als ein Element dem Maximum entspricht.Um den nicht flachen Index aller Vorkommen des Maximalwerts zu erhalten, können Sie die Antwort von eumiro geringfügig ändern, indem Sie
argwhere
anstelle vonwhere
:quelle