重命名 MultiIndex Pandas Dataframe 的名称

Lil*_*_Co 5 python pandas

我对从函数创建的数据框遇到了麻烦groupby

df = base.groupby(['year', 'categ']).agg({'id_prod':'count', 'price':'sum'}).unstack(level=1)
Run Code Online (Sandbox Code Playgroud)

它返回这个结果: df

但我想将id_prodand重命名priceno_salesandrevenue但由于多重索引我不知道该怎么做

结果print(df.columns) 是:

MultiIndex([('id_prod', 0),
            ('id_prod', 1),
            ('id_prod', 2),
            (  'price', 0),
            (  'price', 1),
            (  'price', 2)],
           names=[None, 'categ'])
Run Code Online (Sandbox Code Playgroud)

这就是names=[]我想改变的谢谢你的帮助!

小智 2

df = df.rename(columns={'id_prod': 'no_sales', 'price': 'revenue'}, level=0)
Run Code Online (Sandbox Code Playgroud)

指示level=0在多重索引中可以找到要重命名的键的位置。