logo

numpy.argmax em Python

Em muitos casos, onde o tamanho do array é muito grande, leva muito tempo para encontrar o máximo de elementos deles. Para este propósito, o módulo numpy do Python fornece uma função chamada numpy.argmax() . Esta função retorna índices dos valores máximos retornados junto com o eixo especificado.

numpy argmax

Sintaxe:

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

Parâmetros

x: array_like

Este parâmetro define o array de origem cujo valor máximo queremos saber.

ordenar por sql aleatório

eixo: int (opcional)

Este parâmetro define o eixo ao longo do qual o índice está presente e, por padrão, está na matriz achatada.

saída: array (opcional)

Este parâmetro define o ndarray no qual o resultado será inserido. Será do mesmo tipo e formato apropriado para armazenar o resultado

convenção de nomes java

Devoluções

Este parâmetro define um ndarray, que contém os índices do array. A forma é a mesma que x.forma com a dimensão ao longo do eixo removida.

Exemplo 1:

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

Saída:

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

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos uma matriz 'x' usando np.arange() função com a forma de quatro linhas e cinco colunas.
  • Também adicionamos 7 em cada elemento do array.
  • Declaramos a variável 'e' e atribuiu o valor retornado de np.argmax() função.
  • Passamos a matriz 'x' na função.
  • Por último, tentamos imprimir o valor de 'e' .

Na saída, mostra os índices do elemento máximo do array.

Exemplo 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 

Saída:

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

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

Saída:

conversão e conversão de tipo java
 (3, 4) 26 

Exemplo 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 

Saída:

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

No código acima

  • Importamos numpy com o nome alternativo np.
  • Criamos um array multidimensional 'a ' usando np.array() função.
  • Declaramos a variável 'index_arr' e atribuiu o valor retornado de np.argmax() função.
  • Passamos a matriz 'a' e o eixo na função.
  • Tentamos imprimir o valor de 'index_arr' .
  • No final, tentamos buscar o valor máximo do array com a ajuda de duas formas diferentes, que são bastante semelhantes a np.argmax() .

Na saída, mostra os índices dos elementos máximos do array e os valores que estão presentes nesses índices.