希望动态创建一个从2011年8月1日到现有数据的最后一个月的时间范围。不知道为什么我要在每月的最后一天而不是第一天返回时间序列。
有什么建议吗?请忽略我对同事的琐碎评论。
# Our Formatting System is garbage - So Have to code it to non garbage
start_date = pd.Timestamp(2011, 8, 1,)
months = pd.date_range(start_date, periods=len(timeseries[0]), freq='M')
print(months)
答案 0 :(得分:2)
通过使用频率M
,您告诉它使用月底。有关大熊猫中日期时间偏移量的描述,请参见this link,但简而言之M
是
月末频率
改为使用'MS'
(月开始):
>>> start_date = pd.Timestamp(2011, 8, 1,)
>>> months = pd.date_range(start_date, periods=10, freq='MS')
>>> print(months)
DatetimeIndex(['2011-08-01', '2011-09-01', '2011-10-01', '2011-11-01',
'2011-12-01', '2012-01-01', '2012-02-01', '2012-03-01',
'2012-04-01', '2012-05-01'],
dtype='datetime64[ns]', freq='MS')