numpy.busday_offset #

麻木的。Busday_offset (日期,偏移量, roll = 'raise' , weekmask = '1111100' ,假期= None , Busdaycal = None , out = None ) #

首先根据规则将日期调整为有效日期roll,然后将偏移量应用于计入有效天数的给定日期。

1.7.0 版本中的新增内容。

参数
datetime64 的日期array_like[D]

要处理的日期数组。

int 的类似 array_offset 的偏移量

偏移量数组,通过 进行广播dates

roll {'raise', 'nat', 'forward', 'following', 'backward', 'preceding', 'modifiedfollowing', 'modifiedpreceding'}, 可选

如何处理不在有效日期的日期。默认为“提高”。

  • “raise”是指针对无效的一天提出例外。

  • 'nat' 表示返回无效日期的 NaT(非时间)。

  • “forward”和“following”的意思是在时间上推迟第一个有效日。

  • “向后”和“向前”是指将第一个有效日的时间提前。

  • “modifiedfollowing”表示将第一个有效日的时间推迟,除非它跨越了月份边界,在这种情况下,将第一个有效日提前。

  • “modifiedpreceding”是指提前采用第一个有效日,除非它跨越了月份边界,在这种情况下,将及时采用第一个有效日。

weekmask str 或 array_like of bool,可选

一个七元素数组,指示星期一到星期日的有效日期。可以指定为长度为 7 的列表或数组,例如 [1,1,1,1,1,0,0];长度为 7 的字符串,例如“1111100”;或者像“Mon Tue Wed Thu Fri”这样的字符串,由工作日的 3 个字符缩写组成,可以选择用空格分隔。有效缩写为: Mon Tue Wed Thu Fri Sat Sun

假期array_like of datetime64[D],可选

被视为无效日期的日期数组。它们可以按任何顺序指定,NaT(非时间)日期将被忽略。该列表以标准化形式保存,适合快速计算有效天数。

Busdaycal巴士日日历,可选

busdaycalendar指定有效天数的对象。如果提供此参数,则不能提供weekmask 和holidays。

datetime64[D] 的输出数组,可选

如果提供,该数组将填充结果。

返回
datetime64 的输出数组[D]

具有来自广播的形状的数组datesoffsets 其中包含应用了偏移量的日期。

也可以看看

busdaycalendar

指定一组自定义有效天数的对象。

is_busday

返回一个布尔数组,指示有效天数。

busday_count

计算半开放日期范围内有多少个有效天。

例子

>>> # First business day in October 2011 (not accounting for holidays)
... np.busday_offset('2011-10', 0, roll='forward')
numpy.datetime64('2011-10-03')
>>> # Last business day in February 2012 (not accounting for holidays)
... np.busday_offset('2012-03', -1, roll='forward')
numpy.datetime64('2012-02-29')
>>> # Third Wednesday in January 2011
... np.busday_offset('2011-01', 2, roll='forward', weekmask='Wed')
numpy.datetime64('2011-01-19')
>>> # 2012 Mother's Day in Canada and the U.S.
... np.busday_offset('2012-05', 1, roll='forward', weekmask='Sun')
numpy.datetime64('2012-05-13')
>>> # First business day on or after a date
... np.busday_offset('2011-03-20', 0, roll='forward')
numpy.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 0, roll='forward')
numpy.datetime64('2011-03-22')
>>> # First business day after a date
... np.busday_offset('2011-03-20', 1, roll='backward')
numpy.datetime64('2011-03-21')
>>> np.busday_offset('2011-03-22', 1, roll='backward')
numpy.datetime64('2011-03-23')