如何使用共享字典在一个循环中重命名多个数据帧?

时间:2019-05-27 13:54:33

标签: pandas loops multiple-columns rename

我有多个数据框,它们共享相同名称的相同数量的列。由于某些原因,我想用字典重命名所有这些列。

我知道如何使用熊猫的重命名功能一次对一个数据帧执行此操作,例如: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 个答案:

答案 0 :(得分:1)

您正试图修改一个不可变的元组。改用列表:

df_list = [df1, df2]

for i in df_list:

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