Próbuję uzyskać indeksy maksymalnego elementu w tablicy Numpy. Można to zrobić za pomocą numpy.argmax
. Mój problem polega na tym, że chciałbym znaleźć największy element w całej tablicy i uzyskać jego indeksy.
numpy.argmax
można zastosować albo wzdłuż jednej osi, co nie jest tym, czego chcę, lub na spłaszczonej tablicy, co jest tym, czego chcę.
Mój problem polega na tym, że użycie numpy.argmax
with axis=None
zwraca indeks płaski, gdy chcę indeks wielowymiarowy.
Przydałby divmod
mi się indeks niepłaski, ale to brzydkie. Czy jest lepszy sposób na zrobienie tego?
źródło
==
i trzeci raz, aby wyodrębnićTrue
wartości z tego wyniku. Zauważ, że może istnieć więcej niż jeden element równy maksimum.Aby uzyskać niepłaski indeks wszystkich wystąpień maksymalnej wartości, możesz nieznacznie zmodyfikować odpowiedź eumiro, używając
argwhere
zamiastwhere
:np.argwhere(a==a.max()) >>> a = np.array([[1,2,4],[4,3,4]]) >>> np.argwhere(a==a.max()) array([[0, 2], [1, 0], [1, 2]])
źródło