重命名 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
在过去的几个小时里,我一直在尝试 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