如何在pandas groupby操作中直接为生成的Series多重索引命名
当然可以在groupby调用阶段直接设置多重索引的自定义名称,两种常用实现方式如下:
方法1:直接在pd.Grouper中指定name参数(推荐,符合你的需求)
pd.Grouper本身内置了name参数,传入的字符串会直接作为对应层级索引的名称,无需后续额外修改,示例代码如下:
df_bar = df.groupby([ pd.Grouper(freq = "Y", name = "year"), pd.Grouper(freq = "M", name = "month") ])["value"].mean()
你可以根据业务需要把year、month替换成你想要的任意索引名称。
方法2:聚合完成后批量修改索引名称
如果你已经完成了聚合计算,不想重新执行groupby逻辑,可以直接调用rename_axis方法批量修改多重索引的层级名称:
# 按索引从上到下的顺序传入对应层级的自定义名称即可 df_bar = df_bar.rename_axis(index=["year", "month"])
内容的提问来源于stack exchange,提问作者Eneko CUBILLAS LAISECA
相关产品推荐
相关产品推荐

