Использование словаря для замены строк не работает - PullRequest
1 голос
/ 18 июня 2020

Я пытаюсь использовать следующий код для замены в кадре данных pandas:

replacerscompanya = {',':'','.':'','-':'','ltd':'limited','&':'and'} 
df1['CompanyA'] = df1['CompanyA'].replace(replacerscompanya)

replacersaddress1a = {',':'','.':'','-':'','ltd':'limited','&':'and', r'\brd\b':'road'} 
df1['Address1A'] = df1['Address1A'].replace(replacersaddress1a)

replacersaddress2a = {',':'','.':'','-':'','ltd':'limited','&':'and', r'\brd\b':'road'} 
df1['Address2A'] = df1['Address2A'].replace(replacersaddress2a)

Это не выдает мне ошибки, но когда я проверяю фрейм данных, замены не производились .

Ранее я просто использовал несколько строк приведенного ниже кода, чтобы получить тот же результат, но я надеялся создать что-то более простое в настройке.

df1['CompanyA'] = df1['CompanyA'].str.replace('.','')

Любые идеи как что здесь происходит?

Спасибо!

1 Ответ

1 голос
/ 18 июня 2020

Escape . в словаре, потому что специальный символ регулярного выражения и добавление параметра regex=True для замены подстроки, а также для замены на регулярное выражение:

replacersaddress1a = {',':'','\.':'','-':'','ltd':'limited','&':'and', r'\brd\b':'road'} 
df1['CompanyA'] = df1['CompanyA'].replace(replacerscompanya, regex=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...