【问题标题】:Nothing to repeat at position 0 when replacing string in pandas dataframe [duplicate]替换熊猫数据框中的字符串时,在位置 0 处没有重复内容[重复]
【发布时间】:2017-11-16 04:29:43
【问题描述】:

在我的 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

我想念什么?

【问题讨论】:

  • to_replace='\+62'

标签: python pandas


【解决方案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

【讨论】:

    【解决方案2】:

    replaceregex=True

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2020-11-09
      • 2019-06-06
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多