Comment trouver l’indice de valeur dans le tableau NumPy (avec exemples)



Vous pouvez utiliser les méthodes suivantes pour rechercher la position d’index de valeurs spécifiques dans un tableau NumPy :

Méthode 1 : Trouver toutes les positions d’indice de valeur

np.where(x==value)

Méthode 2 : Trouver la première position d’index de valeur

np.where(x==value)[0][0]

Méthode 3 : Trouver la première position d’index de plusieurs valeurs

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

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

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Méthode 1 : Trouver toutes les positions d’indice de valeur

Le code suivant montre comment trouver chaque position d’index égale à une certaine valeur dans un tableau 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
np.where(x==8)

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

À partir du résultat, nous pouvons voir que les positions d’index 4, 5 et 6 sont toutes égales à la valeur 8 .

Méthode 2 : Trouver la première position d’index de valeur

Le code suivant montre comment trouver la première position d’index égale à une certaine valeur dans un tableau 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
np.where(x==8)[0][0]

4

À partir du résultat, nous pouvons voir que la valeur 8 apparaît d’abord en position d’index 4.

Méthode 3 : Trouver la première position d’index de plusieurs valeurs

Le code suivant montre comment trouver la première position d’index de plusieurs valeurs dans un tableau 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
sorter = np.argsort(x)
sorter[np.searchsorted(x, vals, sorter=sorter)]

array([0, 1, 4])

À partir du résultat, nous pouvons voir :

  • La valeur 4 apparaît d’abord à la position d’index 0.
  • La valeur 7 apparaît d’abord en position d’index 1.
  • La valeur 8 apparaît d’abord en position d’index 4.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans NumPy :

Comment mapper une fonction sur un tableau NumPy
Comment convertir un tableau NumPy en liste en Python
Comment calculer la magnitude d’un vecteur à l’aide de NumPy

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *