Pandas DataFrames 中的条件行删除
尝试从 DataFrame 中删除特定列超过给定字符串长度的行时,您遇到了与“KeyError:u'没有名为 False 的项目'”相关的错误。为了解决这个问题,让我们探索一种条件行删除的替代方法。
您可以直接利用 drop 方法,而不是使用表达式“len(df['column name'])
示例:
要删除“名称”列中字符串长度大于 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中文网其他相关文章!