logo

numpy.argmax i Python

I mange tilfælde, hvor størrelsen af ​​arrayet er for stor, tager det for lang tid at finde de maksimale elementer fra dem. Til dette formål giver numpy-modulet i Python en funktion kaldet numpy.argmax() . Denne funktion returnerer indekser for de maksimale værdier, der returneres sammen med den angivne akse.

numpy argmax

Syntaks:

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

Parametre

x: array_like

Denne parameter definerer det kildearray, hvis maksimale værdi vi ønsker at kende.

execvp

akse: int (valgfrit)

Denne parameter definerer aksen, langs hvilken indekset er til stede, og som standard er det i det fladtrykte array.

ud: array (valgfrit)

Denne parameter definerer den ndarray, hvori resultatet skal indsættes. Dette vil være af samme type og form, hvilket er passende til opbevaring af resultatet

Vender tilbage

Denne parameter definerer et ndarray, som indeholder indeksene for arrayet. Formen er den samme som x.form med dimensionen langs aksen fjernet.

len af ​​streng i java

Eksempel 1:

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

Produktion:

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

I ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har lavet et array 'x' ved brug af np.arange() funktion med form af fire rækker og fem kolonner.
  • Vi har også tilføjet 7 i hvert element i arrayet.
  • Vi har erklæret variablen 'og' og tildelt den returnerede værdi af np.argmax() fungere.
  • Vi har passeret rækken 'x' i funktionen.
  • Til sidst forsøgte vi at udskrive værdien af 'og' .

I outputtet viser det indeksene for det maksimale element i arrayet.

Eksempel 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 

Produktion:

forårsstøvle annotationer
 array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64) 

Eksempel 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] 

Produktion:

 (3, 4) 26 

Eksempel 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 

Produktion:

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

I ovenstående kode

  • Vi har importeret numpy med alias navn np.
  • Vi har skabt et multidimensionelt array 'en ' ved brug af np.array() fungere.
  • Vi har erklæret variablen 'indeks_arr' og tildelt den returnerede værdi af np.argmax() fungere.
  • Vi har passeret rækken 'en' og aksen i funktionen.
  • Vi forsøgte at udskrive værdien af 'indeks_arr' .
  • Til sidst forsøgte vi at hente den maksimale værdi af arrayet ved hjælp af to forskellige måder, som ligner ret meget np.argmax() .

I outputtet viser det indekser for de maksimale elementer i arrayet og de værdier, der er til stede på disse indekser.