Como obter o índice de valor máximo no array numpy
Você pode usar os seguintes métodos para obter o índice do valor máximo em uma matriz NumPy:
Método 1: Obtenha o índice do valor máximo em uma matriz unidimensional
x. argmax ()
Método 2: Obtenha o índice do valor máximo em cada linha do array multidimensional
x. argmax (axis= 1 )
Método 3: Obtenha o índice do valor máximo em cada coluna do array multidimensional
x. argmax (axis= 0 )
Os exemplos a seguir mostram como usar cada método na prática.
Exemplo 1: Obtenha o índice do valor máximo em uma matriz unidimensional
O código a seguir mostra como obter o índice do valor máximo em uma matriz NumPy unidimensional:
import numpy as np
#create NumPy array of values
x = np. array ([2, 7, 9, 4, 4, 6, 3])
#find index that contains max value
x. argmax ()
2
A função argmax() retorna um valor de 2 .
Isso nos diz que o valor na posição 2 do índice da matriz contém o valor máximo.
Se olharmos para o array original, podemos ver que o valor na posição 2 do índice é 9 , que é de fato o valor máximo do array.
Exemplo 2: Obtenha o índice do valor máximo em cada linha de uma matriz multidimensional
O código a seguir mostra como obter o índice do valor máximo em cada linha de um array NumPy multidimensional:
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each row
x. argmax (axis= 1 )
array([3, 1], dtype=int32)
Dos resultados podemos ver:
- O valor máximo da primeira linha está localizado na posição 3 do índice.
- O valor máximo da segunda linha está localizado na posição 1 do índice.
Exemplo 3: Obtenha o índice do valor máximo em cada coluna de um array multidimensional
O código a seguir mostra como obter o índice do valor máximo em cada coluna de um array NumPy multidimensional:
import numpy as np
#create multi-dimentional NumPy array
x = np. array ([[4, 2, 1, 5], [7, 9, 2, 0]])
#view NumPy array
print (x)
[[4 2 1 5]
[7 9 2 0]]
#find index that contains max value in each column
x. argmax (axis= 0 )
array([1, 1, 1, 0], dtype=int32)
Dos resultados podemos ver:
- O valor máximo na primeira coluna está localizado na posição 1 do índice.
- O valor máximo na segunda coluna está localizado na posição 1 do índice.
- O valor máximo na terceira coluna está localizado na posição 1 do índice.
- O valor máximo na quarta coluna está localizado na posição de índice 0 .
Relacionado: Uma explicação simples dos eixos NumPy
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns em Python:
Como preencher um array NumPy com valores
Como substituir elementos em um array NumPy
Como obter uma linha específica de um array NumPy