logo

numpy.argmax en Python

En muchos casos, cuando el tamaño de la matriz es demasiado grande, se necesita demasiado tiempo para encontrar el máximo de elementos a partir de ella. Para ello, el módulo numpy de Python proporciona una función llamada numpy.argmax() . Esta función devuelve índices de los valores máximos que se devuelven junto con el eje especificado.

número de argmax

Sintaxis:

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

Parámetros

x: tipo matriz

Este parámetro define la matriz fuente cuyo valor máximo queremos saber.

leer desde un archivo csv en java

eje: int(opcional)

Este parámetro define el eje a lo largo del cual está presente el índice y, de forma predeterminada, está en la matriz aplanada.

salida: matriz (opcional)

Este parámetro define el ndarray en el que se insertará el resultado. Este será del mismo tipo y forma, que sea apropiado para almacenar el resultado.

encapsulación en java

Devoluciones

Este parámetro define un ndarray, que contiene los índices de la matriz. La forma es la misma que forma x con la dimensión a lo largo del eje eliminada.

Ejemplo 1:

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

Producción:

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

En el código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos creado una matriz. 'X' usando np.arange() Funciona con la forma de cuatro filas y cinco columnas.
  • También hemos agregado 7 en cada elemento de la matriz.
  • Hemos declarado la variable 'y' y se le asignó el valor devuelto de np.argmax() función.
  • Hemos pasado la matriz. 'X' en la función.
  • Por último, intentamos imprimir el valor de 'y' .

En la salida, muestra los índices del elemento máximo en la matriz.

Ejemplo 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 

Producción:

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

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

Producción:

recorrido en orden
 (3, 4) 26 

Ejemplo 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 

Producción:

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

En el código anterior

  • Hemos importado numpy con nombre de alias np.
  • Hemos creado una matriz multidimensional. 'a ' usando np.matriz() función.
  • Hemos declarado la variable 'arr_índice' y se le asignó el valor devuelto de np.argmax() función.
  • Hemos pasado la matriz. 'a' y el eje en la función.
  • Intentamos imprimir el valor de 'arr_índice' .
  • Al final, intentamos obtener el valor máximo de la matriz con la ayuda de dos formas diferentes, que son bastante similares a np.argmax() .

En la salida, muestra índices de los elementos máximos en la matriz y los valores que están presentes en esos índices.