【问题标题】:Renaming the index in a pandas Series重命名熊猫系列中的索引
【发布时间】:2021-12-07 00:48:59
【问题描述】:

在过去的几个小时里,我一直在尝试更改/重命名我的 pandas 系列中的多索引的名称,但我不知道如何实现它。我一直在寻找各种不同的东西,但我似乎无法做到正确。这很重要,因为我意识到如果我不这样做,我的两个索引将具有相同的名称(即“日期”)。代码如下:

df_bar = df.groupby([pd.Grouper(freq = "Y"), pd.Grouper(freq = "M")])["value"].mean()

如果您打印 df_bar,您将拥有以下内容: print of df_bar

是否可以直接在 groupby() 中命名每个索引?

提前感谢您的帮助:)

【问题讨论】:

    标签: python pandas dataframe visualization series


    【解决方案1】:

    我认为没有,需要在下一步重命名Series.rename_axis

    df = pd.DataFrame(
       {
           "date": [
                pd.Timestamp("2000-01-02"),
                pd.Timestamp("2000-01-02"),
                pd.Timestamp("2001-01-09"),
                pd.Timestamp("2001-01-16")
            ],
            "value": [10, 20, 30, 40]
        }
    
    ).set_index('date')
    
    df_bar = (df.groupby([pd.Grouper(freq = "Y"), pd.Grouper(freq = "M")])["value"]
                .mean()
                .rename_axis(['Y','M']))
    print (df_bar)
    Y           M         
    2000-12-31  2000-01-31    15
    2001-12-31  2001-01-31    35
    Name: value, dtype: int64
    

    【讨论】:

    • 效果很好,干杯 :) 该死,看到代码多么简单,我觉得自己很愚蠢
    • @EnekoCUBILLASLAISECA - 有时可以使用 name 参数,但在这里不行,pd.Grouper(freq = "Y", name='Y') 失败。
    • 这是我尝试过的一次,但没有成功:D
    猜你喜欢
    • 2022-11-21
    • 2019-07-28
    • 1970-01-01
    • 2020-09-04
    • 2019-11-01
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    相关资源
    最近更新 更多