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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *