suppression de toutes les nièmes lignes d'une matrice type numpy array
Bonjour à tous,
Je souhaiterais supprimer des lignes d'une matrices de type numpy array.
La particularité serait de supprimer les lignes 1, 5, 9, 13, 17, 21 etc .... Je sais que je dois passer par le modulo.
Pour supprimer une ligne il est possible d'utiliser delete
Cependant j'aurai aimé utiliser cette méthode que j'ai vue sur un site :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
>>> import numpy as np
>>> Mi = np.array([[1, 2, 3], [4, 100, 6], [100,1,2], [12, 100, 50]])
>>> print Mi
[[ 1 2 3]
[ 4 100 6]
[100 1 2]
[ 12 100 50]]
>>> M = Mi[~(Mi[:,1] > 30)]
>>> print M
[[ 1 2 3]
[100 1 2]] |
La Ligne 9 permet de supprimer les lignes de la matrice Mi dont les éléments sont plus grand que 30 dans la deuxième colonne.
Donc plutôt que de faire une boucle sur la matrice et faire un if avec le modulo etc .... est-il possible de supprimer toutes les lignes cité plus haut de la même manière ?
Merci d'avance pour votre aide.