簡體   English   中英

重命名 MultiIndex 的名稱 Pandas Dataframe

[英]Rename Names of MultiIndex Pandas Dataframe

我遇到了從 function 組創建的groupby的麻煩。

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

它返回這個結果:去向

但我想將id_prodprice重命名為no_salesrevenue但我不知道該怎么做,因為 MultiIndex

使用print(df.columns)結果是:

MultiIndex([('id_prod', 0),
            ('id_prod', 1),
            ('id_prod', 2),
            (  'price', 0),
            (  'price', 1),
            (  'price', 2)],
           names=[None, 'categ'])

所以是這個names=[]我想改 謝謝你的幫助!

簡短而簡單,它只會根據多索引重命名您的列

df.columns = df.columns.map('_'.join)
df = df.rename(columns={'id_prod': 'no_sales', 'price': 'revenue'}, level=0)

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM