Pour avoir une expression logique avec 'or il faut utiliser le symbole |. Exemple, soit la matrice suivante:
\begin{equation}
M =
\left( \begin{array}{ccc}
1 & 0 & 0 \\
3 & 0 & 0 \\
1 & 0 & 0 \\
1 & 0 & 0 \\
2 & 0 & 0 \\
3 & 0 & 0 \\
1 & 0 & 0 \\
2 & 0 & 0
\end{array}\right)
\end{equation}
pour sélectionner les éléments de M dont les lignes commencent par 1 ou 2, on peut procéder comme suit:
>>> import numpy as np>>> M = np.array([[1,0,0],[3,0,0],[1,0,0],[1,0,0],[2,0,0],[3,0,0],[1,0,0],[2,0,0]])>>> Marray([[1, 0, 0],[3, 0, 0],[1, 0, 0],[1, 0, 0],[2, 0, 0],[3, 0, 0],[1, 0, 0],[2, 0, 0]])>>> N = M[ (M[:,0] == 1) | (M[:,0] == 2) ]>>> Narray([[1, 0, 0],[1, 0, 0],[1, 0, 0],[2, 0, 0],[1, 0, 0],[2, 0, 0]])
Références
| Lien | Source |
|---|---|
| Multiple conditions using 'or' in numpy array | stackoverflow |
