Come trovare l'indice dei valori nell'array numpy (con esempi)


È possibile utilizzare i seguenti metodi per trovare la posizione dell’indice di valori specifici in un array NumPy:

Metodo 1: trova tutte le posizioni dell’indice di valore

 n.p. where (x== value )

Metodo 2: trovare la posizione dell’indice del primo valore

 n.p. where (x== value )[0][0]

Metodo 3: trova la prima posizione dell’indice di più valori

 #define values of interest
vals = np. array ([ value1 , value2 , value3 ])

#find index location of first occurrence of each value of interest
exit = np. argsort (x)
go out[np. searchsorted (x, vals, sorter=sorter)]

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Metodo 1: trova tutte le posizioni dell’indice di valore

Il codice seguente mostra come trovare ciascuna posizione dell’indice uguale a un determinato valore in un array NumPy:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#find all index positions where x is equal to 8
n.p. where (x== 8 )

(array([4, 5, 6]),)

Dal risultato, possiamo vedere che le posizioni dell’indice 4, 5 e 6 sono tutte uguali al valore 8 .

Metodo 2: trovare la posizione dell’indice del primo valore

Il codice seguente mostra come trovare la prima posizione dell’indice uguale a un determinato valore in un array NumPy:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#find first index position where x is equal to 8
n.p. where (x== 8 )[0][0]

4

Dal risultato possiamo vedere che il valore 8 appare per primo nella posizione dell’indice 4.

Metodo 3: trova la prima posizione dell’indice di più valori

Il codice seguente mostra come trovare la prima posizione dell’indice di più valori in un array NumPy:

 import numpy as np

#define array of values
x = np. array ([4, 7, 7, 7, 8, 8, 8])

#define values of interest
vals = np. array ([4, 7, 8])

#find index location of first occurrence of each value of interest
exit = np. argsort (x)
go out[np. searchsorted (x, vals, sorter=sorter)]

array([0, 1, 4])

Dal risultato possiamo vedere:

  • Il valore 4 appare prima nella posizione dell’indice 0.
  • Il valore 7 appare prima nella posizione dell’indice 1.
  • Il valore 8 appare prima nella posizione dell’indice 4.

Risorse addizionali

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

Come mappare una funzione su un array NumPy
Come convertire un array NumPy in un elenco in Python
Come calcolare la grandezza di un vettore usando NumPy

Aggiungi un commento

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