Я хотел бы начать с месяца 2019-01
, а затем добавить любое количество последовательных месяцев и использовать его в качестве индекса в кадре данных панд. Я нашел предложения, которые указывают на использование pd.to_timedelta
, но я продолжаю сталкиваться с проблемами.
Вот подробности:
Если вы начнете с даты и добавите 5 периодов, например:
import pandas as pd
import numpy as np
date = pd.to_datetime("1st of Jan, 2019")
dates = date+pd.to_timedelta(np.arange(5), 'M')
Тогда вы получите:
DatetimeIndex(['2019-01-01 00:00:00', '2019-01-31 10:29:06',
'2019-03-02 20:58:12', '2019-04-02 07:27:18',
'2019-05-02 17:56:24'],
dtype='datetime64[ns]', freq=None)
Вы можете легко удалить части дня и времени, а также удалить дубликаты для обработки двойного 2019-01
, например:
dates = dates.map(lambda x: x.strftime('%Y-%m'))
dates = dates.drop_duplicates()
Но, как видите, 2019-02
отсутствует:
Index(['2019-01', '2019-03', '2019-04', '2019-05'], dtype='object')
Как лучше это сделать?