如何用年份作为频率创建一个pandas DatetimeIndex?

Dru*_*ter 22 python date-range python-3.x pandas

使用该pandas.date_range(startdate, periods=n, freq=f)功能可以创建一系列pandas Timestamp对象,其中freq可选参数表示范围内的频率(秒,分钟,小时,天......).

该文件没有提到,预计要传递的文字,但几分钟后,你可以很容易地找到他们.

  • 's':第二名
  • 'min':分钟
  • 'H':小时
  • 'D':一天
  • 'w':一周
  • 'm':月

但是,'y','Y','yr'等都没有以年份为频率创建日期.有人知道要传递什么,或者是否有可能传递?

jmz*_*jmz 39

年度索引到年初或年末

频率是freq='A'年末频率,年初频率'AS'.检查文档中的别名.

例如. pd.date_range(start=pd.datetime(2000, 1, 1), periods=4, freq='A')

回报

DatetimeIndex(['2000-12-31', '2001-12-31', '2002-12-31', '2003-12-31'], dtype='datetime64[ns]', freq='A-DEC', tz=None)

年度索引到任意月份的开头

如果您需要从特定时间开始年度使用锚定偏移,例如.pd.date_range(start=pd.datetime(2000, 1, 1), periods=10, freq='AS-AUG')

回报

DatetimeIndex(['2000-08-01', '2001-08-01', '2002-08-01', '2003-08-01'], dtype='datetime64[ns]', freq='AS-AUG', tz=None)

从任意日期开始的年度索引

要从任意日期开始索引,请在该日期开始系列并使用自定义DateOffset对象.

例如. pd.date_range(start=pd.datetime(2000, 9, 10), periods=4, freq=pd.DateOffset(years=1))

回报

DatetimeIndex(['2000-09-10', '2001-09-10', '2002-09-10', '2003-09-10'], dtype='datetime64[ns]', freq='<DateOffset: kwds={'years': 1}>', tz=None)

  • 谢谢,我想知道为什么`date_range()`的文档页面没有链接到这个页面,这会让我免于发布这个问题. (2认同)

CT *_*Zhu 5

通过所有这些技巧,有一个明确的方法:

pd.date_range(start=datetime.datetime.now(),periods=5,freq='A')
Run Code Online (Sandbox Code Playgroud)

A: 每年。

365D?真的吗?那么闰年呢?