0
votes

Supprimer une ligne entière avec des conditions sur une colonne

Suite à la question et à la solution postée ici:

Comment puis-je supprimer les rangées d'un tableau si l'un des éléments de la ligne ne satisfait pas une condition?

J'aime demander comment supprimer une ligne avec une condition d'opérateur combinée sur une valeur de colonne. En bref, j'aime supprimer toutes les lignes dont les valeurs de 3ème colonne ne sont pas comprises entre 7 et 15. xxx

La ligne ci-dessus n'est pas autorisée et jette une erreur de valeur. < / p>

ValueError: La valeur de vérité d'un tableau avec plus d'un élément est ambiguë. Utiliser a.any () ou a.all ()


0 commentaires

3 Réponses :


1
votes

Essayez:

to_remove = (data[:,2] < 7) | (data[:,2] > 14)


1 commentaires

Merci. Maintenant à mon vrai problème. J'ai des valeurs de colonne comme floatts = 2.88168034e + 01. Par conséquent, to_remove = (données [:, 2] <20.) | (Data [:, 2]> 19.) devrait éliminer toutes les entrées de la matrice, mais je vois l'avertissement comme fetchruns.py:21: futurwarning: dans le futur insert traitera des matrices booléennes et Array-aime comme l'indice booléen au lieu de la jeter en Integer New_Data = np.delete (données, to_remove, axe = 0)



0
votes

Je pense que vous avez besoin de quelque chose comme ceci: xxx


0 commentaires

0
votes

to_remove = (données [:, 2] <7) | (Données [:, 2]> 15)


0 commentaires