logo

numpy.argmax en Python

Dans de nombreux cas, lorsque la taille du tableau est trop grande, il faut trop de temps pour en trouver le maximum d'éléments. A cet effet, le module numpy de Python fournit une fonction appelée numpy.argmax() . Cette fonction renvoie les indices des valeurs maximales renvoyées avec l'axe spécifié.

numpy argmax

Syntaxe:

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

Paramètres

x : tableau_like

Ce paramètre définit le tableau source dont on veut connaître la valeur maximale.

comparer la chaîne java

axe : int (facultatif)

Ce paramètre définit l'axe le long duquel l'index est présent et, par défaut, il se trouve dans le tableau aplati.

out : tableau (facultatif)

Ce paramètre définit le ndarray dans lequel le résultat va être inséré. Celui-ci sera du même type et de la même forme, ce qui est approprié pour stocker le résultat.

Retour

Ce paramètre définit un ndarray, qui contient les indices du tableau. La forme est la même que x.forme avec la dimension le long de l'axe supprimée.

Exemple 1:

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

Sortir:

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

Dans le code ci-dessus

Rajan profond
  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé un tableau 'X' en utilisant np.arange() fonctionner avec la forme de quatre lignes et cinq colonnes.
  • Nous en avons également ajouté 7 dans chaque élément du tableau.
  • Nous avons déclaré la variable 'et' et attribué la valeur renvoyée de np.argmax() fonction.
  • Nous avons dépassé le tableau 'X' dans la fonction.
  • Enfin, nous avons essayé d'imprimer la valeur de 'et' .

Dans la sortie, il affiche les indices de l'élément maximum dans le tableau.

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 

Sortir:

 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] 

Sortir:

 (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 

Sortir:

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

Dans le code ci-dessus

chaîne java cmp
  • Nous avons importé numpy avec le nom d'alias np.
  • Nous avons créé un tableau multidimensionnel 'un ' en utilisant np.array() fonction.
  • Nous avons déclaré la variable 'index_arr' et attribué la valeur renvoyée de np.argmax() fonction.
  • Nous avons dépassé le tableau 'un' et l'axe dans la fonction.
  • Nous avons essayé d'imprimer la valeur de 'index_arr' .
  • En fin de compte, nous avons essayé de récupérer la valeur maximale du tableau à l’aide de deux manières différentes, assez similaires à np.argmax() .

Dans la sortie, il affiche les indices du maximum d'éléments dans le tableau et les valeurs qui sont présentes sur ces indices.