Come ottenere l'indice del valore massimo nell'array numpy


È possibile utilizzare i seguenti metodi per ottenere l’indice del valore massimo in un array NumPy:

Metodo 1: ottieni l’indice del valore massimo in una matrice unidimensionale

 x. argmax ()

Metodo 2: ottieni l’indice del valore massimo in ogni riga dell’array multidimensionale

 x. argmax (axis= 1 )

Metodo 3: ottieni l’indice del valore massimo in ciascuna colonna dell’array multidimensionale

 x. argmax (axis= 0 )

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio 1: ottenere l’indice del valore massimo in un array unidimensionale

Il codice seguente mostra come ottenere l’indice del valore massimo in un array NumPy unidimensionale:

 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

La funzione argmax() restituisce un valore di 2 .

Questo ci dice che il valore nella posizione dell’indice 2 dell’array contiene il valore massimo.

Se osserviamo l’array originale, possiamo vedere che il valore nella posizione dell’indice 2 è 9 , che è effettivamente il valore massimo nell’array.

Esempio 2: ottieni l’indice del valore massimo in ogni riga di un array multidimensionale

Il codice seguente mostra come ottenere l’indice del valore massimo in ogni riga di un array NumPy multidimensionale:

 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)

Dai risultati possiamo vedere:

  • Il valore massimo della prima riga si trova nella posizione dell’indice 3 .
  • Il valore massimo della seconda riga si trova nella posizione dell’indice 1 .

Esempio 3: ottenere l’indice del valore massimo in ciascuna colonna di un array multidimensionale

Il codice seguente mostra come ottenere l’indice del valore massimo in ciascuna colonna di un array NumPy multidimensionale:

 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)

Dai risultati possiamo vedere:

  • Il valore massimo nella prima colonna si trova nella posizione dell’indice 1 .
  • Il valore massimo nella seconda colonna si trova nella posizione dell’indice 1 .
  • Il valore massimo nella terza colonna si trova nella posizione dell’indice 1 .
  • Il valore massimo nella quarta colonna si trova nella posizione dell’indice 0 .

Correlati: una semplice spiegazione degli assi NumPy

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in Python:

Come riempire un array NumPy con valori
Come sostituire gli elementi in un array NumPy
Come ottenere una riga specifica da un array NumPy

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *