Modification sélective d'éléments d'une matrice

Méthode

Nous avons vu précédemment comment afficher un ou plusieurs éléments d'une matrice. En utilisant la même syntaxe nous pouvons modifier les éléments d'une matrice:

A=np.array([[1, 0, 3, 5],[4, 8, 6, 0],[7, 8, 9, 10],[2, 3, 1, 3]],np.float32)

Pour afficher l’élément en ligne 3 colonne 2 on utilise :

A[2,1]

Pour modifier cet élément on fera donc :

A[2,1]=28

On peut vérifier le résultat :

A

Modification des éléments d'une matrice

Nous pouvons voir le résultat des commandes précédentes.

ComplémentUtilisation avec la fonction np.where

La fonction np.where avec l'utilisation d'une opération logique( ==, np.logical_and, np.logical_or ) permet de rechercher les indices des éléments vérifiant une condition logique. Par exemple pour rechercher quels sont les éléments compris plus petit que 2 ou plus grand que 9 on fera :

ind=np.where(np.logical_or(A<2, A>9))

Pour vérifier il suffit d'écrire :

A[ind]

Si on veut remplacer ces éléments par 421 on écrira :

A[ind]=421

Commnde find et matrice

Les commandes précédentes donnent ces résultats.

RemarqueRemarque sur le résultat de np.where

La commande np.where donne comme résultat l'indice des éléments dans une matrice vérifiant la condition logique. Si la matrice est rectangulaire alors le résultat n'est pas donné sous forme d'indices de ligne et colonne mais sous la forme d'une liste de nombres.Commnde find et matrice