0
votes

Comment supprimer des lignes dans une matrice numpue basée sur une seule colonne?

J'ai une gamme de floats NUMPY 2D NUMPY, et je veux supprimer toutes les lignes dans lesquelles la troisième colonne de cette ligne contient une valeur inférieure à x .

par exemple. [[3,4,5], [3,3,8], [4,2,1], [1,2,1]] , avec seuil 2 , sorties [[3,4,5], [3,3,8]] .


0 commentaires

3 Réponses :


2
votes

Essayez celui-ci:

>>> import numpy as np
>>> x=np.array([[3,4,5],[3,3,8],[4,2,1],[1,2,1]])
>>> x=x[x[:,2]>=2]
>>> x
array([[3, 4, 5],
       [3, 3, 8]])


1 commentaires

upvoted..a une note latérale que cela fonctionne s'il y a une colonne 2 dans une colonne (si OP est intéressée): x [np.all (x> 2, axe = 1)]



0
votes

Vous pouvez utiliser une liste-compréhension: xxx

sortie: xxx

Alternativement, vous pouvez utiliser filtre : xxx


0 commentaires

0
votes

Essayez ceci:

import numpy as np

array = np.array([[3,4,5],[3,3,8],[4,2,1],[1,2,1]])
array = np.array([x for x in array if x[2] >  2])
print (array)


0 commentaires