我有多个数据框,它们共享相同名称的相同数量的列。由于某些原因,我想用字典重命名所有这些列。
我知道如何使用熊猫的重命名功能一次对一个数据帧执行此操作,例如: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”等)。
我很乐意阅读有关如何继续自动重命名这些列的任何建议……谢谢!
答案 0 :(得分:1)
您正试图修改一个不可变的元组。改用列表:
df_list = [df1, df2]
for i in df_list:
i = i.rename(columns={
'1':'a',
'2':'b',
'3':'c', ...})