我想从month2019-01
开始,然后添加任意数量的consequential months,并将其用作pandas数据帧中的索引。我发现一些建议指向使用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')
有什么更好的方法?你知道吗
您可以使用
pandas.date_range
:[输出]
您可以通过^{} 创建
PeriodIndex
:如果再加上2天,您的解决方案应该有效:
验证:
相关问题 更多 >
编程相关推荐