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 np
A = 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 np
A = 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]