在 Index 上操作的 strftime 上将 dataframe 中的月份转换为大写

Convert the month in uppercase in dataframe on strftime that is operated on Index

我有一段代码和一行将日期转换为 01Jun19 格式的 ddMonYY

new1 = ((df.index.levels[0] - pd.to_timedelta(7, unit='d')).strftime('%d%b%y') + ' - '+
        df.index.levels[0].strftime('%d%b%y'))

输出为01Jun19

但我希望输出为 01JUN19(月份大写)

我试过使用 upper()%^b 都没有用

upper() 的输出是它不在索引上工作


new1 = ((df.index.levels[0] - pd.to_timedelta(7, unit='d')).strftime('%d%b%y') + ' - '+
        df.index.levels[0].strftime('%d%b%y')).upper()

Error:

   df.index.levels[0].strftime('%d%b%y')).upper()
AttributeError: 'Index' object has no attribute 'upper'

请提供对此的见解

使用 Series.str.upper 它对 indexSeries 的工作方式相同:

df.index.levels[0].strftime('%d%b%y').str.upper()