pandas.date_range(startdate, periods=n, freq=f)
函数,您可以创建一系列 pandas 的 Timestamp
对象,其中 freq
可选参数表示范围内的频率(秒、分钟、小时、天...)。
文档 没有提到应该传递哪些文字,但是经过几分钟的搜索,您可以很容易地找到大部分文字。
- 's':秒
- 'min':分钟
- 'H':小时
- 'D':日
- 'w':周
- 'm':月
pandas.date_range(startdate, periods=n, freq=f)
函数,您可以创建一系列 pandas 的 Timestamp
对象,其中 freq
可选参数表示范围内的频率(秒、分钟、小时、天...)。
文档 没有提到应该传递哪些文字,但是经过几分钟的搜索,您可以很容易地找到大部分文字。
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 =无)
有了所有这些黑客,有一条明确的路:
pd.date_range(start=datetime.datetime.now(),periods=5,freq='A')
A
:每年一次。
365D
? 真的吗?那么闰年怎么办?
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')
import datetime
,但如果您有特定的开始日期,则也可以使用它。 - rofls您可以使用多个频率字符串。例如:
pd.date_range('01/01/2010',periods=10,freq='365D')
date_range()
的文档页面没有链接到这个页面,如果有的话就不用发这个问题了。 - imrekdf1 = df1.set_index(pd.date_range(start=pd.datetime(1984,1,1),end=pd.datetime(2015,1,1), freq='A-JUN')
,但是我想要六月份的最后一个工作日。 - Jonathan Epsteinpd.date_range
接受可转换为日期的字符串(任何可以从pd.Timestamp
构造的东西都可以),您可以使用start='2001-8-1'
表示开始日期为2001年8月1日。 - BallpointBen