Python 如何替换+;替换中的xx
我使用的是Python 如何替换+;替换中的xx,python,pandas,Python,Pandas,我使用的是Python2.7.12和pandas 0.20.3,我有一个如下的数据帧,我想替换名为number的列,这个列的数据类型是object,当我尝试替换该列中的+91时,我得到如下错误 number 0 +9185600XXXXX 1 +9199651XXXXX 2 99211XXXXX 3 99341XXXXX 4 +9199651XXXXX sre_常量。错误:无需重复 全程跟踪 回溯(最近一次呼叫最后一次): 文件“encoder.py”
Python2.7.12
和pandas 0.20.3
,我有一个如下的数据帧,我想替换名为number的列,这个列的数据类型是object,当我尝试替换该列中的+91
时,我得到如下错误
number
0 +9185600XXXXX
1 +9199651XXXXX
2 99211XXXXX
3 99341XXXXX
4 +9199651XXXXX
sre_常量。错误:无需重复
全程跟踪
回溯(最近一次呼叫最后一次):
文件“encoder.py”,第21行,在
df['number']=df['number'].str.replace('+91','')
文件“/home/hduser/.local/lib/python2.7/site packages/pandas/core/strings.py”,第1574行,替换为
旗帜=旗帜)
str_replace中第424行的文件“/home/hduser/.local/lib/python2.7/site packages/pandas/core/strings.py”
regex=re.compile(pat,flags=flags)
文件“/usr/lib/python2.7/re.py”,第194行,编译中
返回编译(模式、标志)
文件“/usr/lib/python2.7/re.py”,第251行,在编译中
raise错误,v#表达式无效
sre_constants.error:无需重复
但是当我替换91
时,它就像我预期的那样工作,当我在前缀中添加+
时,它就不工作了,
请帮我解决这个问题
错误发生在
df['number']=df['number'].str.replace('+91','')
您可以转义特殊的正则表达式值+
(一个或多个重复
),如:
或者使用参数regex=False
:
df['number'] = df['number'].str.replace('+91','', regex=False)
通过regex=False
?例如:.str.replace('+91','',regex=False)
df['number'] = df['number'].str.replace('+91','', regex=False)
import pandas as pd
data={'number':['+9185600XXXXX','+9199651XXXXX']}
f=pd.DataFrame(data)
f['number']=f['number'].str.replace('\+91','')
print(f)