首页 > 解决方案 > 如何使用 for 循环遍历多个 panda 数据帧

问题描述

我正在尝试协调所有数据框中的列名,以便可以连接它们并创建一个表。我正在努力在多个数据帧上创建一个循环。该代码不会失败,但它也不起作用。这是两个数据框的示例和包含数据框的列表:

df_test = pd.DataFrame({'HHLD_ID':[6,7,8,9,10],
                   'sales':[25,50,25,25,50],
                   'units':[1,2,1,1,2],
                   })

df_test2 = pd.DataFrame({'HHLD_ID':[1,2,3,4,5],
                   'sale':[25,50,25,25,50],
                   'unit':[1,2,1,1,2],
                   })

list_df_export = [df_test,df_test2]

这是我尝试过的...

for d in list_df_export:
    if 'sale' in d:
        d = d.rename(columns={"sale": "sales",'unit':'units'})
    

这是我希望 df_test2 的样子... 在此处输入图像描述

标签: pandasdataframefor-loop

解决方案


您可以使用:

d = {'sale':'sales','unit':'units'}
pd.concat(i.rename(columns=d) for i in list_df_export)

推荐阅读