混合格式的熊猫多索引:将级别 0“%b-%Y”的格式更改为日期时间值

时间:2021-02-10 00:01:16

标签: python-3.x pandas datetime multi-index

Windows 10 上的 python 3.6 熊猫 1.1.2

尝试更改 MultiIndex 0 级的日期格式,同时将值保留为日期时间。例如:

dates = pd.date_range(start='2017-01-01', end='2020-12-01', freq='M')
n = [1, 2, 3, 4]
idx = pd.MultiIndex.from_product([dates, n], names=['date', 'n'])

idx[:5] 给予:

MultiIndex([('2017-01-31', 1),
                ('2017-01-31', 2),
                ('2017-01-31', 3),
                ('2017-01-31', 4),
                ('2017-02-28', 1)],
               names=['date', 'n'])

哪里:type(idx.get_level_values(0))

class 'pandas.core.indexes.datetimes.DatetimeIndex'

现在,我想更改日期值以仅显示月份和年份,同时保留它们的类型。例如:

MultiIndex([('Jan-2017', 1),
            ('Jan-2017', 2),
            ('Jan-2017', 3),
            ('Jan-2017', 4),
            ('Feb-2017', 1)],
           names=['date', 'n'])

0 个答案:

没有答案