În multe cazuri, când dimensiunea matricei este prea mare, este nevoie de prea mult timp pentru a găsi elementele maxime din ele. În acest scop, modulul numpy al lui Python oferă o funcție numită numpy.argmax() . Această funcție returnează indici ai valorilor maxime returnate împreună cu axa specificată.
Sintaxă:
numpy.argmax(a, axis=None, out=None)
Parametrii
x: array_like
Acest parametru definește matricea sursă a cărei valoare maximă dorim să știm.
df loc
axa: int (opțional)
Acest parametru definește axa de-a lungul căreia este prezent indexul și, implicit, este în matricea aplatizată.
ieșire: matrice (opțional)
Acest parametru definește ndarray-ul în care urmează să fie inserat rezultatul. Acesta va fi de același tip și formă, care este adecvat pentru stocarea rezultatului
Se intoarce
Acest parametru definește un ndarray, care conține indicii matricei. Forma este aceeași ca x.forma cu dimensiunea de-a lungul axei eliminată.
Exemplul 1:
Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y
Ieșire:
array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19
În codul de mai sus
java boolean
- Am importat numpy cu numele de alias np.
- Am creat o matrice 'X' folosind np.arange() funcţionează cu forma a patru rânduri şi cinci coloane.
- Am adăugat și 7 în fiecare element al matricei.
- Am declarat variabila 'și' și a atribuit valoarea returnată a np.argmax() funcţie.
- Am trecut matricea 'X' in functie.
- În cele din urmă, am încercat să tipărim valoarea lui 'și' .
În ieșire, arată indicii elementului maxim din matrice.
Exemplul 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
Ieșire:
array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64)
Exemplul 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]
Ieșire:
(3, 4) 26
Exemplul 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
Ieșire:
array([[0], [2], [2]]) array([5, 9, 6])
În codul de mai sus
var global în js
- Am importat numpy cu numele de alias np.
- Am creat o matrice multidimensională 'A 'folosind np.array() funcţie.
- Am declarat variabila „index_arr” și a atribuit valoarea returnată a np.argmax() funcţie.
- Am trecut matricea 'A' iar axa în funcție.
- Am încercat să tipărim valoarea lui „index_arr” .
- În cele din urmă, am încercat să obținem valoarea maximă a matricei cu ajutorul a două moduri diferite, care sunt destul de asemănătoare cu np.argmax() .
În ieșire, arată indici ai elementelor maxime din matrice și valorile care sunt prezente pe acei indici.