如果大熊猫包含“???”,请删除大熊猫中的行

我试图在包含“???”的熊猫中删除行,它适用于除“???”之外的所有其他值,我不知道有什么问题。

这是我的代码(我尝试了这两种类型):

df = df[~df["text"].str.contains("?????", na=False)]
df = df[~df["text"].str.contains("?????")]

我得到的错误:

re.error: nothing to repeat at position 0

它适用于除“????”之外的所有其他值。我已经谷歌了它,并浏览了这个网站,但我找不到任何解决方案。


慕婉清6462132
浏览 100回答 2
2回答

潇湘沐

该参数需要正则表达式,因此错误 。你可以逃避 ?在表达式中,如下所示:re.errordf = df[~df["text"].str.contains("\?\?\?\?\?")]或设置为“沃斯普龙”:regex=Falsedf = df[~df["text"].str.contains("?????",regex=False)]

慕容3067478

让我们将其转换为运行代码:import numpy as npimport pandas as pddata = {'A': ['abc', 'cxx???xx', '???',], 'B': ['add', 'ddb', 'c', ]}df = pd.DataFrame.from_dict(data)df输出:    A   B0   abc add1   cxx???xx    ddb2   ??? c与此:df[df['A'].str.contains('???',regex=False)]输出:    A   B1   cxx???xx    ddb2   ??? c您需要告诉 ,您的搜索字符串不是正则表达式。contains()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python