问题遇到的现象和发生背景
python使用resample获取年度数据,在多个产品名称下获取对应年的数据,使用df.groupby().resample().sum()
最后导致列名复杂化了,不知道如何修改列名
问题相关代码,请勿粘贴截图
data_years = data_2019_2020.set_index(['日期'])
data_years = data_years.groupby('商品编号').resample('Y').sum()
#删除多余的商品编号
data_years.drop(columns='商品编号',axis=1,inplace=True)
#重新设置索引,将原先索引都取消
data_years = data_years.reset_index(drop=False)
#提取年份
data_years['年'] = data_years['日期'].dt.year
# data_years['年'] = data_years['月份'].apply(lambda x:str(x)+'年')
# #将月份的列转换成列名
data_years = data_years.pivot(index='商品编号',columns='年',values='数量')
data_years= pd.DataFrame(data_years)
data_years = data_years.reset_index(drop=False)
#将NAN填充为0
# data_years['年'] = data_years['年'].fillna(0)
print(data_years)
print(data_years.columns)
###### 运行结果及报错内容
年 商品编号 2019 2020
0 100100103 904.0 453.0
1 100100114 0.0 NaN
2 100100206 20775.0 14495.0
Index(['商品编号', 2019, 2020], dtype='object', name='年')
内容有NAN,想着把NAN填充为0,但是使用,fllna的方法出现了问题,报错出现了“年”字
###### 我的解答思路和尝试过的方法
我的猜测是我选择的列名不对,这个列名如何正确打出
###### 我想要达到的结果
1,如何正确打出列名
2,如何将索引名的年去掉,恢复出列名为’商品编号‘ ,‘2019’,‘2020’