Как переименовать несколько фреймов данных в одном цикле с помощью общего словаря? - PullRequest
1 голос
/ 27 мая 2019

У меня есть несколько фреймов данных, которые имеют одинаковое количество столбцов с одинаковыми именами.По какой-то причине я хотел бы переименовать все эти столбцы с помощью словаря.

Я знаю, как сделать это для одного кадра данных одновременно, используя функцию переименования панд, такую ​​как: df = df.rename (columns = {"1": "a" и т. Д.}).

Я хотел бы добавить цикл для каждого кадра данных из списка кадров данных (df_list), но по какой-то причине он не работает так, как я ожидал.

df_list = (df1, df2)

for i in df_list:

   i = i.rename(columns={
    '1':'a',
    '2':'b',
    '3':'c', etc.})

Кодвыше не дает ни ошибки, ни изменения ничего.Опять же, и df1, и df2 имеют одинаковую структуру (столбцы = "1", "2", "3" и т.переименование этих столбцов ... Спасибо!

1 Ответ

1 голос
/ 27 мая 2019

Вы пытаетесь изменить кортеж, который является неизменным.Вместо этого используйте список:

df_list = [df1, df2]

for i in df_list:

   i = i.rename(columns={
  '1':'a',
  '2':'b',
  '3':'c', ...})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...