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.
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.