首页 > 解决方案 > 跨多个 DataFrame 重命名索引

问题描述

我有一个功能:

def func(df):
    #does stuff
     return df

当我输入数据框时,返回的 DataFrame 如下所示:

     x1   x2   x3 
ret 
vol

我希望更改索引的名称,在本例中为retand vol

由于我有多个要运行此功能的数据框(a,bc),因此我手动完成了以下操作:

performance_a = (func(a)).rename(index = {'ret':'ret_a','vol':'vol_a'})
performance_b = (func(b)).rename(index = {'ret':'ret_b','vol':'vol_c'})
performance_c = (func(c)).rename(index = {'ret':'ret_b','vol':'vol_c'})
etc...

最终输出是这样的:

     x1   x2   x3 
ret_a 
vol_a

     x1   x2   x3 
ret_b 
vol_b

etc...

有没有更简单的方法来循环这个?

干杯:)

标签: pythonpandasloopsdataframerename

解决方案


为什么不将更改索引逻辑添加到 func() 中?或者添加一个调用 func() 并应用索引重命名的包装器 func_b()?


推荐阅读