Найти и заменить цикл в пандах для подстроки - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть фрейм данных, и у многих значений в одном из столбцов есть недружественные к питону символы, такие как &.

Я хотел создать словарь, а затем перебрать с помощью find и replace

вроде как:

replacements = {
    " ": ""
    ,"&": "and"
    ,"/":""
    ,"+":"plus"
    ,"(":""
    ,")":""
    }

df['VariableName']=df['VariableName'].replace(replacements,regex=True)

однако это вызывает следующий код ошибки:

error: nothing to repeat at position 0

1 Ответ

0 голосов
/ 03 декабря 2018

Я думаю, вам нужно экранировать специальные символы регулярных выражений в словаре:

import re

df = pd.DataFrame({'VariableName':['ss dd +','(aa)']})

replacements = {re.escape(k):v for k, v in replacements.items()}
df['VariableName']=df['VariableName'].replace(replacements,regex=True)

print (df)
  VariableName
0     ssddplus
1           aa
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...