logo

numpy.argmax v Pythonu

V mnoha případech, kdy je velikost pole příliš velká, trvá nalezení maximálního počtu prvků z nich příliš dlouho. Pro tento účel poskytuje numpy modul Pythonu funkci nazvanou numpy.argmax() . Tato funkce vrací indexy maximálních hodnot spolu se zadanou osou.

numpy argmax

Syntax:

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

Parametry

x: array_like

Tento parametr definuje zdrojové pole, jehož maximální hodnotu chceme znát.

Cassidy Hutchinson vzdělání

osa: int (volitelné)

Tento parametr definuje osu, podél které je index přítomen, a ve výchozím nastavení je do sloučeného pole.

out: pole (volitelné)

Tento parametr definuje ndarray, do kterého bude výsledek vložen. Ten bude stejného typu a tvaru, který je vhodný pro uložení výsledku

Návraty

Tento parametr definuje ndarray, který obsahuje indexy pole. Tvar je stejný jako x.tvar s odstraněným rozměrem podél osy.

Příklad 1:

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

Výstup:

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

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme pole 'X' použitím np.arange() funkce s tvarem čtyř řad a pěti sloupců.
  • Také jsme přidali 7 do každého prvku pole.
  • Proměnnou jsme deklarovali 'a' a přiřadil vrácenou hodnotu np.argmax() funkce.
  • Prošli jsme polem 'X' ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu 'a' .

Ve výstupu zobrazuje indexy maximálního prvku v poli.

řetězec formátu java

Příklad 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 

Výstup:

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

Příklad 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] 

Výstup:

 (3, 4) 26 

Příklad 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 

Výstup:

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

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme vícerozměrné pole 'A ' použitím np.array() funkce.
  • Proměnnou jsme deklarovali 'index_arr' a přiřadil vrácenou hodnotu np.argmax() funkce.
  • Prošli jsme polem 'A' a osa ve funkci.
  • Pokusili jsme se vytisknout hodnotu 'index_arr' .
  • Nakonec jsme se pokusili načíst maximální hodnotu pole pomocí dvou různých způsobů, které jsou velmi podobné np.argmax() .

Ve výstupu zobrazuje indexy maximálních prvků v poli a hodnoty, které jsou na těchto indexech přítomny.