Exemples de comment trouver les valeurs uniques dans une matrice avec numpy en python
Créer une matrice
Soit par exemple la matrice suivante
import numpy as npA = np.random.randint(3, size=20)print(A)
donne
[1 2 1 0 1 2 2 1 2 0 2 1 1 1 0 1 2 1 2 2]
Trouver les valeurs uniques dans la matrice
Pour trouver les valeurs uniques dans la matrice, une solution est d'utiliser la fonction numpy unique, exemple:
np.unique(A)
donne
array([0, 1, 2])
Trouver les valeurs uniques dans une matrice de 2 dimensions
Soit la matrice de dimensions (3,4) suivante
A = np.random.randint(10, size=(3,4))print(A)
donne ici par exemple
[[9 8 6 7][0 8 3 3][0 5 9 1]]
Alors la fonction numpy unique:
np.unique(A)
donne dans ce cas
array([0, 1, 3, 5, 6, 7, 8, 9])
On peut aussi choisir l'axe
A = np.random.randint(2, size=(10,2))print(A)
donne
[[1 0][0 1][1 1][1 0][1 0][1 1][0 0][1 0][0 1][1 0]]Out[13]:
et
np.unique(A, axis=0)
donne ici
array([[0, 0],[0, 1],[1, 0],[1, 1]])
Trouver les valeurs uniques et reconstruire la matrice initiale
Soit par exemple la matrice suivante
import numpy as npA = np.array([-2,6,-7,8,9,-4,3])print(A)
donne
[-2 6 -7 8 9 -4 3]
on peut alors obtenir les valeurs uniques et les indices associés pour pouvoir reconstruire la matrice comme ceci:
u_values, u_indices = np.unique(A, return_inverse=True)print(u_values)print(u_indices)
donne respectivement
[-7 -4 -2 3 6 8 9]
et
[2 4 0 5 6 1 3]
On peut alors reconstruire la matrice initial
print(u_values[u_indices])[-2 6 -7 8 9 -4 3]
