我最近开始使用panda,在date_range方面遇到了一些问题。
In [168]: pd.date_range("2013-07-01", "2013-10-03", freq='W').to_series()
Out[168]:
2013-07-07 2013-07-07
2013-07-14 2013-07-14
2013-07-21 2013-07-21
2013-07-28 2013-07-28
2013-08-04 2013-08-04
2013-08-11 2013-08-11
2013-08-18 2013-08-18
2013-08-25 2013-08-25
2013-09-01 2013-09-01
2013-09-08 2013-09-08
2013-09-15 2013-09-15
2013-09-22 2013-09-22
2013-09-29 2013-09-29
Freq: W-SUN, dtype: datetime64[ns]
在上面的例子中,我期望第一索引是CCD_ 1而不是CCD_。我检查了一下,发现默认情况下date_range同时考虑右封闭和左封闭。也尝试了一些其他频率,如W-MON
,但没有帮助。
8年后,1.5.2版本仍然存在相同的错误:
my_period = pd.date_range('2015-09-01', '2016-07-01', freq='3M')
my_period
给出
DatetimeIndex(['2015-09-30', '2015-12-31', '2016-03-31', '2016-06-30'], dtype='datetime64[ns]', freq='3M')
默认情况下,开始时间应固定在给定日期IMHO,此处为2015年9月1日00时。星期天的故事在这里行不通。
有趣的是,如果我加上一个小时,它会正确使用,但日期仍然不正确:
my_period = pd.date_range('2015-09-01 02:10', '2016-07-01', freq='3M')
my_period
DatetimeIndex(['2015-09-30 02:10:00', '2015-12-31 02:10:00',
'2016-03-31 02:10:00', '2016-06-30 02:10:00'],
dtype='datetime64[ns]', freq='3M')