Comment retrouver les indices d'une matrice ou une condition est vérifiée en python ?

Published: 12 février 2015

Tags: Python; Numpy; Where;

DMCA.com Protection Status

Avec numpy il existe la fonction where pour retrouver les indices des éléments d'une matrice vérifiant une condition donnée. Considérons la matrice M=[4,1,8,6,2,1], on veut retrouver l'indice de l'élément ou M=2, dans ce cas la fonction where donne 4 car l'élément est sur la quatrième colonne (Rappel: base 0 par défaut sous python)

>>> import numpy as np
>>> M = np.array([4,1,8,6,2,1])
>>> np.where(M == 2)
(array([4]),)

Autre exemple pour une matrice (2,3):

>>> M = np.array([[4,1,8],[5,2,1]])
 >>> M
 array([[4, 1, 8],
   [5, 2, 1]])
 >>> np.where(M == 1)
(array([0, 1]), array([1, 2]))

Autre exemple avec deux conditions (M > 2) & (M < 8) (Attention à la syntaxe):

>>> M = np.array([[4,1,8],[5,2,1]])
>>> np.where((M > 2) & (M < 8)  )
(array([0, 1]), array([0, 0]))

Références