在我的MySQL数据库中,手机在VARCHAR中。然后,我将其导入到pandas数据帧中。这是我的数据:
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
我想念的是什么?
答案 0 :(得分:1)
+
是一个特殊字符,您必须使用\
转义它:
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
答案 1 :(得分:1)
replace
和regex=True
data5.replace({'\+62':'0'},regex=True)
Out[76]:
id phone
0 1 0634783472
1 2 0834838483
2 3 0