Python Pandas按月份分组后如何将日期索引转为列?
把分组后的月度日期从索引转成普通列
你现在的问题是分组后日期成了索引,没法当普通列调用,给你两个简单的解决办法:
方法1:分组时直接避免生成索引
修改你的groupby代码,加上as_index=False参数,同时直接指定要汇总的Gross和Net列,省得之后再删除无关列:
per = df5.Date.dt.to_period("M") # 指定聚合列+设置as_index=False,让日期直接成为普通列 df51 = df5.groupby(per, as_index=False)[['Gross', 'Net']].sum()
这样生成的df51里,Date就是正常的列,直接能用列名访问。
方法2:对已生成的df51重置索引
如果你已经得到了带日期索引的df51,直接用reset_index()把索引转成列就行:
# 将当前的Date索引转为普通列 df51 = df51.reset_index()
执行完这步,原来的索引就会变成名为Date的列,和你期望的格式完全一致。
之后绘制月度趋势图时,就可以直接调用列名:
df51.plot(x='Date', y=['Gross', 'Net'], kind='line')
内容的提问来源于stack exchange,提问作者Danny Morton
相关产品推荐
相关产品推荐

