Python 替换数据帧中的字符串时,在位置0处无需重复任何操作

Python 替换数据帧中的字符串时,在位置0处无需重复任何操作,python,pandas,Python,Pandas,在我的MySQL数据库中,电话输入VARCHAR。然后,我将其导入一个数据帧。以下是我的数据: data5 id phone 1 +62634783472 2 0834838483 3 +62 我想要的是将+62转换为0,预期输出如下 id phone 1 0634783472 2 0834838483 3 0 我已经试过两件事了,有 data5['phone'] = data5['

在我的MySQL数据库中,电话输入VARCHAR。然后,我将其导入一个数据帧。以下是我的数据:

data5

id   phone
1     +62634783472
2       0834838483
3              +62
我想要的是将+62转换为0,预期输出如下

id   phone
1       0634783472
2       0834838483
3                0
我已经试过两件事了,有

data5['phone'] = data5['phone'].str.replace('+62', '0')

data5['phone'] = data5['phone'].replace(to_replace='+62', value='0', regex=True)
结果是:

error: nothing to repeat at position 0

我错过了什么?

+
是一个特殊字符,您必须使用
\
对其进行转义:

import pandas as pd
data5 = pd.DataFrame({"id": [1, 2, 3], 
                      "phone": ["+62634783472", "0834838483", "+62"]})

data5['phone'] = data5['phone'].str.replace('\+62', '0')

# data5
   id       phone
0   1  0634783472
1   2  0834838483
2   3           0

+
是一个特殊字符,您必须使用
\
对其进行转义:

import pandas as pd
data5 = pd.DataFrame({"id": [1, 2, 3], 
                      "phone": ["+62634783472", "0834838483", "+62"]})

data5['phone'] = data5['phone'].str.replace('\+62', '0')

# data5
   id       phone
0   1  0634783472
1   2  0834838483
2   3           0

replace
regex=True

data5.replace({'\+62':'0'},regex=True)
Out[76]: 
   id       phone
0   1  0634783472
1   2  0834838483
2   3           0

replace
regex=True

data5.replace({'\+62':'0'},regex=True)
Out[76]: 
   id       phone
0   1  0634783472
1   2  0834838483
2   3           0

to\u replace='\+62'
to\u replace='\+62'