logo

numpy.argmax in Python

In veel gevallen, waar de omvang van de array te groot is, kost het te veel tijd om er het maximale aantal elementen uit te vinden. Voor dit doel biedt de numpy-module van Python een functie genaamd numpy.argmax() . Deze functie retourneert indexen van de maximale waarden die samen met de opgegeven as worden geretourneerd.

numpy argmax

Syntaxis:

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

Parameters

x: array_like

Deze parameter definieert de bronarray waarvan we de maximale waarde willen weten.

theelepel formaat

as: int (optioneel)

Deze parameter definieert de as waarlangs de index aanwezig is, en bevindt zich standaard in de afgeplatte array.

uit: array (optioneel)

Deze parameter definieert de ndarray waarin het resultaat wordt ingevoegd. Deze zal van hetzelfde type en dezelfde vorm zijn, wat geschikt is voor het opslaan van het resultaat

Geeft terug

Deze parameter definieert een ndarray, die de indices van de array bevat. De vorm is hetzelfde als x.vorm waarbij de afmeting langs de as is verwijderd.

Voorbeeld 1:

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

Uitgang:

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

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een array gemaakt 'X' gebruik makend van np.arange() functie met de vorm van vier rijen en vijf kolommen.
  • We hebben ook 7 toegevoegd aan elk element van de array.
  • We hebben de variabele gedeclareerd 'En' en de geretourneerde waarde toegewezen van np.argmax() functie.
  • We zijn de array gepasseerd 'X' in de functie.
  • Ten slotte hebben we geprobeerd de waarde van af te drukken 'En' .

In de uitvoer worden de indices van het maximale element in de array weergegeven.

als door Rudyard Kipling samenvatting

Voorbeeld 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 

Uitgang:

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

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

Uitgang:

 (3, 4) 26 

Voorbeeld 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 

Uitgang:

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

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een multidimensionale array gemaakt 'A ' gebruik makend van np.array() functie.
  • We hebben de variabele gedeclareerd 'index_arr' en de geretourneerde waarde toegewezen van np.argmax() functie.
  • We zijn de array gepasseerd 'A' en de as in de functie.
  • We hebben geprobeerd de waarde van af te drukken 'index_arr' .
  • Uiteindelijk hebben we geprobeerd de maximale waarde van de array op te halen met behulp van twee verschillende manieren, die vrij gelijkaardig zijn aan np.argmax() .

In de uitvoer worden indices weergegeven van de maximale elementen in de array en de waarden die op die indices aanwezig zijn.