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

时间:2015-08-23 16:25:02

标签: python python-3.x pandas date-range

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

documentation未提及预期传入的文字,但几分钟后您可以轻松找到大部分文字。

  • ' S' :第二次
  • '分钟' :分钟
  • ' H' :小时
  • ' d' :天
  • ' W' :周
  • '米' :月

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

2 个答案:

答案 0 :(得分:1)

您可以使用月份,然后每12个月选择一次:

months=pandas.date_range(start=datetime.datetime.now(),periods=120,freq='M')
year=[months[11*i] for i in range(12)]

你也可以这样做:

usingDays=pandas.date_range(start=datetime.datetime.now(),periods=10,freq='365D')

但是这对闰年来说效果不会很好。

答案 1 :(得分:0)

您可以为频率字符串使用倍数。例如:

pd.date_range('01 / 01 / 2010' ,句号= 10,频率= '365D')

此代码将为您提供01/01/2010,01 / 01/2011等系列,我认为这是您正在寻找的。当然,这里的问题是你会遇到闰年的问题。