Remove rows in python less than a certain value

帅比萌擦擦* 提交于 2019-11-29 02:48:56

问题


I feel like this question must have been answered by someone before, but I can't find an answer on stack overflow!

I have a dataframe result that looks like this and I want to remove all the values less than or equal to 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 

This command works and removes all the values that are 10:

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

But when I try to add the <= qualifier I get the error message SyntaxError: invalid syntax

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

I feel like there is probably a really simple solution. Thanks in advance!


回答1:


Instead of this

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

Use

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

It will work. OR simply use

df3 = result[result['Value'] > 10]  



回答2:


python doesn't use ! to negate. It uses not. See this answer
In this particular example != is a two character string that means not equal. It is not the negation of ==.

option 1
This should work unless you have NaN

result[result['Value'] > 10]

option 2
use the unary operator ~ to negate a boolean series

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


来源:https://stackoverflow.com/questions/41800424/remove-rows-in-python-less-than-a-certain-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!