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