logo

numpy.argmax en Python

En molts casos, quan la mida de la matriu és massa gran, es necessita massa temps per trobar-ne el màxim d'elements. Amb aquest propòsit, el mòdul numpy de Python proporciona una funció anomenada numpy.argmax() . Aquesta funció retorna índexs dels valors màxims que es retornen juntament amb l'eix especificat.

numpy argmax

Sintaxi:

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

Paràmetres

x: array_like

Aquest paràmetre defineix la matriu font de la qual volem conèixer el valor màxim.

què és el maneig d'excepcions a Java

eix: int (opcional)

Aquest paràmetre defineix l'eix al llarg del qual està present l'índex i, per defecte, es troba a la matriu aplanada.

fora: matriu (opcional)

Aquest paràmetre defineix el ndarray en què s'inserirà el resultat. Aquest serà del mateix tipus i forma, que és adequat per emmagatzemar el resultat

mvc per a java

Devolucions

Aquest paràmetre defineix un ndarray, que conté els índexs de la matriu. La forma és la mateixa que x.forma amb la dimensió al llarg de l'eix eliminada.

Exemple 1:

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

Sortida:

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

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem creat una matriu 'x' utilitzant np.arange() funció amb la forma de quatre files i cinc columnes.
  • També hem afegit 7 a cada element de la matriu.
  • Hem declarat la variable 'i' i assignat el valor retornat de np.argmax() funció.
  • Hem passat la matriu 'x' en la funció.
  • Finalment, hem intentat imprimir el valor de 'i' .

A la sortida, mostra els índexs de l'element màxim de la matriu.

Exemple 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 

Sortida:

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

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

Sortida:

S'ha inserit la targeta SIM però no hi ha servei Android
 (3, 4) 26 

Exemple 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 

Sortida:

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

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem creat una matriu multidimensional 'a ' utilitzant np.array() funció.
  • Hem declarat la variable 'index_arr' i assignat el valor retornat de np.argmax() funció.
  • Hem passat la matriu 'a' i l'eix a la funció.
  • Hem intentat imprimir el valor de 'index_arr' .
  • Al final, hem intentat obtenir el valor màxim de la matriu amb l'ajuda de dues maneres diferents, que són força semblants a np.argmax() .

A la sortida, mostra índexs dels elements màxims de la matriu i els valors que hi ha presents en aquests índexs.