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]
具有来自广播的形状的数组
dates
,offsets
其中包含应用了偏移量的日期。
也可以看看
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')