Suite à la question et à la solution postée ici:
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. p> 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 () p>
blockQuote> p>
3 Réponses :
Essayez:
to_remove = (data[:,2] < 7) | (data[:,2] > 14)
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.) code> 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) code>
Je pense que vous avez besoin de quelque chose comme ceci:
to_remove = (données [:, 2] <7) | (Données [:, 2]> 15) P>