numpy.busday_count#
- numpy.busday_count(begindates, enddates, weekmask='1111100', holidays=[], busdaycal=None, out=None)#
计算 begindates 和 enddates 之间有效天数的数量,不包括 enddates 当天。
如果
enddates
指定的日期值早于相应的begindates
日期值,则计数将为负数。- 参数:
- begindatesdatetime64[D] 的类数组
用于计数的起始日期数组。
- enddatesdatetime64[D] 的类数组
用于计数的结束日期数组,它们本身不包含在计数中。
- weekmaskstr 或 bool 的类数组,可选
一个七元素的数组,指示星期一到星期日中哪些是有效工作日。可以指定为长度为七的列表或数组,如 [1,1,1,1,1,0,0];长度为七的字符串,如“1111100”;或类似“Mon Tue Wed Thu Fri”的字符串,由工作日的三字符缩写组成,可以用空格分隔。有效的缩写是:Mon Tue Wed Thu Fri Sat Sun
- holidaysdatetime64[D] 的类数组,可选
要视为无效日期的日期数组。它们可以按任何顺序指定,并且会忽略 NaT (非时间) 日期。此列表以规范化形式保存,适合快速计算有效天数。
- busdaycalbusdaycalendar,可选
一个
busdaycalendar
对象,用于指定有效的工作日。如果提供了此参数,则不能提供 weekmask 和 holidays。- outint 数组,可选
如果提供,则此数组将填充结果。
- 返回:
- outint 数组
一个数组,其形状由广播
begindates
和enddates
共同决定,包含起始日期和结束日期之间的有效天数。
另请参阅
busdaycalendar
一个指定自定义有效工作日的对象。
is_busday
返回一个指示有效工作日的布尔数组。
busday_offset
应用以有效工作日计数的偏移量。
示例
>>> import numpy as np >>> # Number of weekdays in January 2011 ... np.busday_count('2011-01', '2011-02') 21 >>> # Number of weekdays in 2011 >>> np.busday_count('2011', '2012') 260 >>> # Number of Saturdays in 2011 ... np.busday_count('2011', '2012', weekmask='Sat') 53