logo

numpy.argmax w Pythonie

W wielu przypadkach, gdy rozmiar tablicy jest zbyt duży, znalezienie z niej maksymalnej liczby elementów zajmuje zbyt dużo czasu. W tym celu moduł numpy Pythona udostępnia funkcję o nazwie numpy.argmax() . Funkcja ta zwraca indeksy wartości maksymalnych, które są zwracane wraz z określoną osią.

numpy argmax

Składnia:

 numpy.argmax(a, axis=None, out=None) 

Parametry

x: tablica_podobna

Parametr ten definiuje tablicę źródłową, której maksymalną wartość chcemy poznać.

rozmiary czcionek w lateksie

oś: int (opcjonalnie)

Parametr ten określa oś, wzdłuż której znajduje się indeks i domyślnie znajduje się on w spłaszczonej tablicy.

out: tablica (opcjonalnie)

Parametr ten określa ndarray, w którym zostanie wstawiony wynik. Będzie to ten sam typ i kształt, który jest odpowiedni do przechowywania wyniku

Zwroty

Ten parametr definiuje ndarray, który zawiera indeksy tablicy. Kształt jest taki sam jak x.kształt z usuniętym wymiarem wzdłuż osi.

Przykład 1:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y 

Wyjście:

 array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19 

W powyższym kodzie

filmy123 do
  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy tablicę 'X' za pomocą np.arange() funkcję o kształcie czterech wierszy i pięciu kolumn.
  • Dodaliśmy także 7 w każdym elemencie tablicy.
  • Zadeklarowaliśmy zmienną 'I' i przypisano zwróconą wartość np.argmax() funkcjonować.
  • Minęliśmy tablicę 'X' w funkcji.
  • Na koniec próbowaliśmy wydrukować wartość 'I' .

Na wyjściu pokazuje indeksy maksymalnego elementu w tablicy.

Przykład 2:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z 

Wyjście:

 array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64) 

Przykład 3:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices] 

Wyjście:

 (3, 4) 26 

Przykład 4:

 import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2 

Wyjście:

 array([[0], [2], [2]]) array([5, 9, 6]) 

W powyższym kodzie

Java na przerwę
  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy tablicę wielowymiarową 'A ' za pomocą np.tablica() funkcjonować.
  • Zadeklarowaliśmy zmienną „indeks_arr” i przypisano zwróconą wartość np.argmax() funkcjonować.
  • Minęliśmy tablicę 'A' i oś funkcji.
  • Próbowaliśmy wydrukować wartość „indeks_arr” .
  • Na koniec próbowaliśmy pobrać maksymalną wartość tablicy na dwa różne sposoby, które są dość podobne do np.argmax() .

Na wyjściu pokazuje indeksy maksymalnych elementów tablicy oraz wartości, które występują w tych indeksach.