pandas 删除python中小于特定值的行

qxsslcnc  于 2022-12-02  发布在  Python
关注(0)|答案(4)|浏览(366)

我感觉这个问题以前一定有人回答过,但是我在堆栈溢出上找不到答案!
我有一个 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]

我觉得可能有一个非常简单的解决方案。提前感谢!

laawzig2

laawzig21#

而不是这个

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

用途

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

它将工作。或者简单地使用

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

eqqqjvef2#

python不使用!来求反,它使用not . See this answer
在这个特殊的例子中,!=是一个两个字符的字符串,表示not equal。它不是==的否定。

选项1

除非您有NaN,否则应该可以使用

result[result['Value'] > 10]

备选案文2

使用一元运算符~对布尔级数求反

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

093gszye3#

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

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

相关问题