【问题标题】:Rename Names of MultiIndex Pandas Dataframe重命名 MultiIndex Pandas 数据框的名称
【发布时间】:2022-06-14 19:19:52
【问题描述】:

我遇到了从 groupby 函数创建的数据框的问题。

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

它返回这个结果:

但我想将 id_prod 和 price 重命名为 no_sales 和 revenue 但由于 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 = df.rename(columns={'id_prod': 'no_sales', 'price': 'revenue'}) 应该可以工作。
  • 感谢您的回答,但由于 mutiindex,df.rename() 无法正常工作,这不是基础列
  • 请参阅this link。无论多索引如何,它都应该工作。
  • 谢谢!我找到了解决方案:)

标签: python pandas


【解决方案1】:

简短而简单,它只会根据多索引重命名您的列

df.columns = df.columns.map('_'.join)

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 2019-09-26
    • 2017-05-04
    • 2022-07-01
    • 2019-03-03
    • 2020-06-12
    • 2019-01-26
    • 2020-07-07
    相关资源
    最近更新 更多