Как переименовать колонки в df Pandas с нижним подчеркиванием

a = pd.DataFrame([{'id': 1, 'b': 2, 'Первое имя': "AA", 'Второе имя': 2},
                  {'id': 1, 'b': 2, 'Первое имя': "BB", 'Второе имя': 2},
                  {'id': 1, 'b': 4, 'Первое имя': "AA", 'Второе имя': 2}])

Есть ли способ все названия столбцов где есть пробел переименовать в названия с _, то есть Первое_имя, например, вместо Первое имя. Колонок в разы больше поэтому в ручную не вариант.


Ответы (1 шт):

Автор решения: MaxU

Вариант 1:

a = a.rename(columns=lambda col: col.replace(" ", "_"))

Вариант 2:

a.columns = a.columns.str.replace(" ", "_")

Вариант 3:

a.columns = a.columns.map(lambda x: x.replace(" ", "_"))

Результат:

In [8]: a
Out[8]:
   id  b Первое_имя  Второе_имя
0   1  2         AA           2
1   1  2         BB           2
2   1  4         AA           2
→ Ссылка