data = {'First_Column': [1,2,3], 'Second_Column': [1,2,3],
'\First\Mid\LAST.Ending': [1,2,3], 'First1\Mid1\LAST1.Ending': [1,2,3]}
df = pd.DataFrame(data)
First_Column Second_Column \First\Mid\LAST.Ending First1\Mid1\LAST1.Ending
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
Я хочу переименовать столбцы следующим образом:
First_Column Second_Column LAST LAST1
0 1 1 1 1
1 2 2 2 2
2 3 3 3 3
Итак, я попробовал:
df.columns.str.extract(r'([^\\]+)\.Ending')
0
0 NaN
1 NaN
2 LAST
3 LAST1
и
col = df.columns.tolist()
for i in col[2:]:
print(re.search(r'([^\\]+)\.Ending', i).group())
LAST.Ending
LAST1.Ending
Первое, что я заметил различные выводы аргумента регулярного выражения. Это почему? Во-вторых, я предпочитаю версию с выдержкой. Но как сохранить исходное имя, если совпадения нет?
THX