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