为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕婉清6462132 2022-09-27 10:35:12
我试图在包含“???”的熊猫中删除行,它适用于除“???”之外的所有其他值,我不知道有什么问题。这是我的代码(我尝试了这两种类型):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)]


查看完整回答
反对 回复 2022-09-27
?
慕容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()


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号