删除python中小于某个值的行

Posted

技术标签:

【中文标题】删除python中小于某个值的行【英文标题】:Remove rows in python less than a certain value 【发布时间】:2017-06-07 14:42:50 【问题描述】:

感觉这个问题以前一定有人回答过,但是堆栈溢出找不到答案!

我有一个看起来像这样的数据框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]  

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

不是这个

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

使用

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

它会起作用的。 或者干脆使用

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

【讨论】:

【参考方案3】:

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

选项 1 这应该可以工作,除非你有NaN

result[result['Value'] > 10]

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

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

【讨论】:

以上是关于删除python中小于某个值的行的主要内容,如果未能解决你的问题,请参考以下文章

python 在Pandas中删除具有特定值的行(Python)

如何使用窗口函数仅在 POSTGRES 中选择不超过某个值的行

根据某个(非零)值删除数据帧(熊猫)中的行[重复]

如何从 DataFrame 中删除某些列只有零值的行

如何在 Prettytable 中删除值小于 0% 的行

使用Python删除csv中的行[重复]