我试图在包含“???”的熊猫中删除行,它适用于除“???”之外的所有其他值,我不知道有什么问题。这是我的代码(我尝试了这两种类型):df = df[~df["text"].str.contains("?????", na=False)]
df = df[~df["text"].str.contains("?????")]我得到的错误:re.error: nothing to repeat at position 0它适用于除“????”之外的所有其他值。我已经谷歌了它,并浏览了这个网站,但我找不到任何解决方案。
2 回答

潇湘沐
TA贡献1816条经验 获得超6个赞
该参数需要正则表达式,因此错误 。你可以逃避 ?在表达式中,如下所示:re.error
df = df[~df["text"].str.contains("\?\?\?\?\?")]
或设置为“沃斯普龙”:regex=False
df = df[~df["text"].str.contains("?????",regex=False)]

慕容3067478
TA贡献1773条经验 获得超3个赞
让我们将其转换为运行代码:
import numpy as np
import pandas as pd
data = {'A': ['abc', 'cxx???xx', '???',], 'B': ['add', 'ddb', 'c', ]}
df = pd.DataFrame.from_dict(data)
df
输出:
A B
0 abc add
1 cxx???xx ddb
2 ??? c
与此:
df[df['A'].str.contains('???',regex=False)]
输出:
A B
1 cxx???xx ddb
2 ??? c
您需要告诉 ,您的搜索字符串不是正则表达式。contains()
添加回答
举报
0/150
提交
取消