Проблема
Как заменить X на _, учитывая следующий фрейм данных:
data = {'street':['13XX First St', '2XXX First St', '47X Second Ave'],
'city':['Ashland', 'Springfield', 'Ashland']}
df = pd.DataFrame(data)
Улицы необходимо редактировать, заменяя каждый X подчеркиванием _.
Обратите внимание, что количество целых чисел меняется, равно как и число X. Кроме того, названия улиц, такие как Xerxes, не должны редактироваться в _er_es, а должны оставаться неотредактированными. Изменится только раздел номера улицы.
Желаемый результат
data = {'street':['13__ First St', '2___ First St', '47_ Second Ave'],
'city':['Ashland', 'Springfield', 'Ashland']}
df = pd.DataFrame(data)
Прогресс
Некоторые потенциальные строительные блоки регулярного выражения включают в себя:
1. [0- 9] + для захвата чисел
2. X + для захвата Xs
3. ([0-9] +) (X +) для захвата групп
df['street']replace("[0-9]+)(X+)", value=r"\2", regex=True, inplace=False)
Я довольно слаб с регулярным выражением так что мой подход не может быть лучшим. Спасибо за любые рекомендации или решения!