Python numpy.argmax()

Suraj Joshi 30 gennaio 2023
  1. Sintassi di numpy.argmax():
  2. Codici di esempio: metodo numpy.argmax() per trovare indici di valori massimi in un array
  3. Codici di esempio: imposta il parametro axis nel metodo numpy.argmax() per trovare gli indici dei valori più grandi in un array
  4. Codici di esempio: imposta il parametro out nel metodo numpy.argmax() per trovare gli indici dei valori più grandi in un array
Python numpy.argmax()

Python Numpy numpy.argmax() restituisce gli indici dei valori con i valori più alti nell’array NumPy dato.

Sintassi di numpy.argmax():

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

Parametri

a Array o Object che può essere convertito in array in cui è necessario trovare indici di valori più alti.
axis trova l’indice del valore più grande lungo la riga (axis = 0) o la colonna (axis = 1). Per impostazione predefinita, l’indice del valore più grande viene trovato appiattendo l’array.
out segnaposto per il risultato del metodo np.argmax. Deve essere della dimensione appropriata per contenere il risultato.

Ritorno

Un array di indici di elementi con il valore più alto nell’intero array.

Codici di esempio: metodo numpy.argmax() per trovare indici di valori massimi in un array

Trova l’indice del valore più alto in un array 1-D

import numpy as np

a=np.array([2,6,1,5])

print("Array:")
print(a)

req_index=np.argmax(a)
print("\nIndex with the largest value:")
print(req_index)

print("\nThe largest value in the array:")
print(a[req_index])

Produzione:

Array:
[2 6 1 5]

Index with the largest value:
1

The largest value in the array:
6

Fornisce l’indice dell’elemento con il valore più grande nell’array di input specificato.

Possiamo anche trovare il valore più grande nell’array usando l’indice restituito dal metodo np.argmax().

Se abbiamo due valori più grandi nell’array, il metodo restituisce l’indice dell’elemento più grande che appare per primo nell’array.

import numpy as np

a=np.array([2,6,1,6])

print("Array:")
print(a)

req_index=np.argmax(a)
print("\nIndex with the largest value:")
print(req_index)

print("\nThe largest value in the array:")
print(a[req_index])

Produzione:

Array:
[2 6 1 5]

Index with the largest value:
1

The largest value in the array:
6

Qui, 6 è il valore più alto che ricorre due volte nell’array, ma np.argmax() restituisce l’indice di 6 all’indice 1 poiché è il primo nell’array.

Trova l’indice del valore più alto in un array 2-D

import numpy as np

a=np.array([[2,1,6],
            [7,4,5]])

print("Array:")
print(a)

req_index=np.argmax(a)
print("\nIndex with the largest value:")
print(req_index)

Produzione:

Array:
[[2 1 6]
 [7 4 5]]

Index with the largest value:
3

In questo caso, poiché il parametro axis non viene fornito, l’array viene appiattito e viene restituito l’indice dell’elemento più grande dell’array appiattito.

Codici di esempio: imposta il parametro axis nel metodo numpy.argmax() per trovare gli indici dei valori più grandi in un array

Trova gli indici dell’elemento più alto lungo l’asse della colonna

import numpy as np

a=np.array([[2,1,6],
            [7,4,5]])

print("Array:")
print(a)

req_index=np.argmax(a,axis=0)
print("\nIndices with the largest value along column axis:")
print(req_index)

Produzione:

Array:
[[2 1 6]
 [7 4 5]]

Index with the largest value:
[1 1 0]

Se impostiamo axis=0, fornisce gli indici del valore più alto lungo ogni colonna. Qui la prima colonna ha il valore più alto all’indice 1, la seconda colonna ha il valore più alto all’indice 1 e la terza colonna ha il valore più alto all’indice 0.

Trova gli indici degli elementi più alti lungo l’asse delle righe

import numpy as np

a=np.array([[2,1,6],
            [7,4,5]])

print("Array:")
print(a)

req_index=np.argmax(a,axis=1)
print("\nIndices with the largest value along row axis:")
print(req_index)

Produzione:

Array:
[[2 1 6]
 [7 4 5]]

Indices with the largest value along the row axis:
[2 0]

Se impostiamo axis=1, fornisce gli indici dei valori più alti lungo ogni riga.

Codici di esempio: imposta il parametro out nel metodo numpy.argmax() per trovare gli indici dei valori più grandi in un array

import numpy as np

a=np.array([[2,1,6],
            [7,4,5]])

req_index=np.array(0)

print("Array:")
print(a)

np.argmax(a,out=req_index)
print("\nIndex with the largest value:")
print(req_index)

Produzione:

Array:
[[2 1 6]
 [7 4 5]]

Index with the largest value:
3

Qui, la variabile req_index funge da segnaposto per il valore richiesto dell’indice e dobbiamo assicurarci che la dimensione dell’output sia uguale a req_index.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn