web-dev-qa-db-fra.com

Supprimer les lignes dans python inférieur à une certaine valeur

J'ai l'impression que quelqu'un a déjà répondu à cette question, mais je ne trouve pas de réponse au débordement de pile!

J'ai un dataframe result qui ressemble à ceci et je veux supprimer toutes les valeurs inférieur ou égal à 10

>>> result
                       Name              Value      Date
189                   Sall                19.0  11/14/15
191                     Sam               10.0  11/14/15
192                 Richard               21.0  11/14/15
193                  Ingrid                4.0  11/14/15 

Cette commande fonctionne et supprime toutes les valeurs qui sont 10:

df2 = result[result['Value'] != 10]

Mais lorsque j'essaie d'ajouter le qualificatif <=, le message d'erreur SyntaxError: invalid syntax

df3 = result[result['Value'] ! <= 10]  

J'ai l'impression qu'il existe probablement une solution très simple. Merci d'avance!

18
JAG2024

Au lieu de cela

df3 = result[result['Value'] ! <= 10]  

Utilisation

df3 = result[~(result['Value'] <= 10)]  

Ça va marcher. OR utilisez simplement

df3 = result[result['Value'] > 10]  
19
Jay Parikh

python n'utilise pas ! pour nier. Il utilise not. Voir cette réponse
Dans cet exemple particulier != est une chaîne de deux caractères qui signifie not equal. Ce n'est pas la négation de ==.

option 1
Cela devrait fonctionner à moins que vous n'ayez NaN

result[result['Value'] > 10]

option 2
utilise l'opérateur unaire ~ pour annuler une série booléenne

result[~(result['Value'] <= 10)]
6
piRSquared