首页 >后端开发 >Python教程 >如何根据条件从 Pandas DataFrame 中删除行?

如何根据条件从 Pandas DataFrame 中删除行?

DDD
DDD原创
2024-11-12 08:50:02209浏览

How to Remove Rows from a Pandas DataFrame Based on a Condition?

Pandas DataFrames 中行的条件删除

最初的问题试图根据特定列的字符串长度从 DataFrame 中删除行。虽然提出的解决方案不正确,但本文旨在提供对 Pandas 中条件行删除的全面理解。

使用 drop 方法

直接解决标题的问题,drop 方法提供了一种基于条件表达式消除行的简单方法。语法如下:

df = df.drop(some labels)
df = df.drop(df[<some boolean condition>].index)

示例

要删除分数列值小于 50 的所有行:

df = df.drop(df[df.score < 50].index)

对于就地修改,您可以使用:

df.drop(df[df.score < 50].index, inplace=True)

多个条件

Pandas 支持使用逻辑运算符(| 表示 OR,& 表示 AND , ~ 表示 NOT) 用于创建复杂条件。请记住将它们括在括号中。

要删除分数既小于 50 又大于 20 的所有行:

df = df.drop(df[(df.score < 50) & (df.score > 20)].index)

以上是如何根据条件从 Pandas DataFrame 中删除行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn