Python 重命名多级日期时间索引

Python 重命名多级日期时间索引,python,pandas,Python,Pandas,我有一个像这样的数据框 Sale Purchase date date date date 100 3 2018 2 1 1 200 6 2018 1 2 3 150 8 2017 12 1 1 100 1 2017 11 2 2 50 2 相反,我希望是这样

我有一个像这样的数据框

                     Sale    Purchase
date date date date  100       3
2018  2    1    1    200       6 
2018  1    2    3    150       8
2017  12   1    1    100       1
2017  11   2    2    50        2
相反,我希望是这样

                           Sale    Purchase
Year Month Week Dayofweek  100       3
2018  2    1    1          200       6 
2018  1    2    3          150       8
2017  12   1    1          100       1
2017  11   2    2          50        2
我尝试了
df_monthly.MultiIndex.rename(“年”、“月”、“周”、“星期几”)
但是我得到了错误AttributeError:“DataFrame”对象没有属性“MultiIndex”。有没有其他方法可以重命名这些索引?谢谢

我还尝试了df_monthly=pd.MultiIndex.rename(df_monthly.index,['Year','Month','Week','Day of Week'],[0,1,2,3]),这似乎也不起作用。

使用

df_monthly.index.set_names('Year', level=0)


从错误中可以推断,df.index属性存储类MultiIndex的一个实例。

经过多次搜索和反复试验,解决方案如下

df_monthly.index.names=['Year','Month','Week','Day of Week']

嗨,我两种方法都试过了,但两种方法都不起作用。指数保持不变。谢谢你的帮助!如果您不需要副本,请使用
inplace=True
。请阅读
df_monthly.index.names=['Year','Month','Week','Day of Week']