Я пытаюсь выполнить замену вложенных регулярных выражений в пандах, и мне трудно захватить все вложенные компоненты в регулярных выражениях.
Например, я хотел бы удалить все экземпляры 'ba'
и 'ba ca'
из столбца A
в кадре данных.Но я могу удалить только 'ba'
, в то время как 'ca'
часть "ba ca"
не удаляется, потому что я думаю, что 'ba'
вложено в 'ba ca'
df = pd.DataFrame({'A': ['ba t', 'ba ca t', 'foo', 'ba it'],'B': ['abc','abc', 'bar', 'xyz']})
replace_list=['ba','ba ca']
for i in replace_list:
df=df.replace({'A': r'^({})'.format(i)}, {'A': ''}, regex=True)
df
Я ожидаю строку index=1
для столбца A
будет t
, а не ca t
.Любая помощь высоко ценится.
A B
0 t abc
1 ca t abc
2 foo bar
3 it xyz