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中文网其他相关文章!