首页 > 解决方案 > 如果包含字符,则删除 Pandas DataFrame 行

问题描述

我正在尝试删除任何包含“?”的行 在特定列中。

我有这条线:

df[~df.C.str.contains("?")]

这是行不通的。我收到以下错误:

错误:在位置 0 没有可重复的内容

但是以下确实有效

df[~df.C.str.contains("abc")]

有谁知道它是关于什么的?那会阻止它运行吗?

标签: pandas

解决方案


.str.contains()默认情况下需要一个正则表达式;?被视为元字符,单独使用它会引发re.error.* 通过regex=False搜索文字“?” 特点:

df[~df.C.str.contains("?", regex=False)]

* 看re.compile("?")


推荐阅读