Заменить частичную строку в Pandas Dataframe значением словаря - PullRequest
0 голосов
/ 04 марта 2019

У меня есть Pandas DataFrame (df), где некоторые слова содержат заменяющие символы кодирования.Я хочу заменить эти слова заменяющими словами из словаря (переводы).

translations = {'gr�nn': 'gronn', 'm�nst': 'menst'}
df = pd.DataFrame(["gr�nn Y", "One gr�nn", "Y m�nst/line X"])

df.replace(translations, regex=True, inplace=True)

Однако, похоже, он не охватывает все случаи.Токовый вывод:

                0
0         gronn Y
1       One gr�nn
2  Y m�nst/line X

Нужно ли указывать какие-либо шаблоны регулярных выражений, чтобы замена могла также захватывать частичные слова в строке?

Ожидаемый результат:

                0
0         gronn Y
1       One gronn
2  Y menst/line X

1 Ответ

0 голосов
/ 04 марта 2019

Превратите ваши переводы в строки поиска / замены регулярного выражения:

translations = {r'(.*)gr�nn(.*)': r'\1gronn\2', r'(.*)m�nst(.*)': r'\1menst\2'}
df = pd.DataFrame(["gr�nn Y", "One gr�nn", "Y m�nst/line X"])
df.replace(translations, regex=True)

Возвращает:

    0
0   gronn Y
1   One gronn
2   Y menst/line X
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...