重命名 pandas 系列中的索引

Renaming the index in a pandas Series

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

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

如果您打印 df_bar,您将得到以下内容: print of df_bar

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

提前感谢您的帮助:)

我认为不是,需要在下一步重命名 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