如何根据字符串长度和多个条件从 Pandas DataFrame 中删除行?

DDD
发布: 2024-11-10 10:25:02
原创
277 人浏览过

How to Delete Rows from a Pandas DataFrame Based on String Length and Multiple Conditions?

Pandas DataFrames 中的条件行删除

尝试从 DataFrame 中删除特定列超过给定字符串长度的行时,您遇到了与“KeyError:u'没有名为 False 的项目'”相关的错误。为了解决这个问题,让我们探索一种条件行删除的替代方法。

您可以直接利用 drop 方法,而不是使用表达式“len(df['column name'])

  1. labels: 要删除的标签或索引列表
  2. axis=0: 表示行正在已删除

示例:

要删除“名称”列中字符串长度大于 2 的所有行:

df = df.drop(df[df['name'].str.len() > 2].index)
登录后复制

就地操作:

你还可以通过将 inplace 参数设置为 True 来执行就地删​​除操作:

df.drop(df[df['name'].str.len() > 2].index, inplace=True)
登录后复制

多个条件:

要应用多个条件进行行删除,请使用逻辑运算符|括号内的 (或) 和 (和):

df = df.drop(df[(df['age'] < 18) & (df['gender'] == 'male')].index)
登录后复制

这将删除年龄小于 18 且性别为“男性”的所有行。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板