繁体   English   中英

去除 python 中小于某个值的行

[英]Remove rows in python less than a certain value

我觉得这个问题之前肯定有人回答过,但是我在stack overflow上找不到答案!

我有一个 dataframe result ,看起来像这样,我想删除所有小于或等于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 

此命令有效并删除所有 10 的值:

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

但是当我尝试添加 <= 限定符时,我收到错误消息SyntaxError: invalid syntax

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

我觉得可能有一个非常简单的解决方案。

而不是这个

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

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

它会起作用。 或者简单地使用

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

python 不使用! 否定。 它使用not 看到这个答案
在这个特定的例子中!=是一个两个字符的字符串,表示not equal 这不是==的否定。

选项1
这应该有效,除非你有NaN

result[result['Value'] > 10]

选项 2
使用一元运算符~来否定布尔系列

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

我还有一个建议,可能会有所帮助

df3 = result.drop(result[result['Value'] < 10].index, inplace = True)

还有df.query()

result.query('Value > 10')
                       Name              Value      Date
189                   Sall                19.0  11/14/15
191                     Sam               10.0  11/14/15
192                 Richard               21.0  11/14/15

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM