删除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)