Pandas 如何使用共享字典在一个循环中重命名多个数据帧?
我有多个数据帧,它们都共享相同数量的列和相同的名称。出于某种原因,我想用字典来重命名所有这些专栏 我知道如何使用pandas的重命名功能一次对一个数据帧执行此操作,例如:Pandas 如何使用共享字典在一个循环中重命名多个数据帧?,pandas,loops,multiple-columns,rename,Pandas,Loops,Multiple Columns,Rename,我有多个数据帧,它们都共享相同数量的列和相同的名称。出于某种原因,我想用字典来重命名所有这些专栏 我知道如何使用pandas的重命名功能一次对一个数据帧执行此操作,例如: df = df.rename(columns={"1": "a", etc.}) 我想为数据帧列表(df_list)中的每个数据帧添加一个循环,但由于某些原因,它并不像我期望的那样工作 df_list = (df1, df2) for i in df_list: i = i.rename(columns={
df = df.rename(columns={"1": "a", etc.})
我想为数据帧列表(df_list)中的每个数据帧添加一个循环,但由于某些原因,它并不像我期望的那样工作
df_list = (df1, df2)
for i in df_list:
i = i.rename(columns={
'1':'a',
'2':'b',
'3':'c', etc.})
上面的代码没有提供任何错误,也没有更改任何内容。同样,df1和df2共享完全相同的结构(columns=“1”、“2”、“3”等)
我很乐意阅读任何关于如何自动重命名这些列的建议。。。谢谢 您试图修改一个元组,它是不可变的。改为使用列表:
df_list = [df1, df2]
for i in df_list:
i = i.rename(columns={
'1':'a',
'2':'b',
'3':'c', ...})
在重命名功能中添加
inplace=True
使用列表df_list=[df1,df2]
,感谢你们两位。虽然从元组移动到列表肯定是一件好事,但这并不能单独解决我的问题。使用inplace=True确实做到了。非常感谢,连同inplace=True,这解决了我的问题。你有什么版本的熊猫?inplace=True不应该是必需的,因为您在分配i=i.renameWell时正在创建一个副本,之后注意到确实不需要inplace=True。只是把它应用到我的实际工作中,而不是应用到例子中。我的熊猫版本是“0.23.4”。谢谢