numpy.busday_count#
- numpy.busday_count(begindates, enddates, weekmask='1111100', holidays=[], busdaycal=None, out=None)#
计算 begindates 和 enddates 之间的有效天数,不包括 enddates 这一天。
如果
enddates指定的日期值早于对应的begindates日期值,则计数将为负数。- 参数:
- begindatesarray_like of datetime64[D]
用于计数的起始日期数组。
- enddatesarray_like of datetime64[D]
用于计数的结束日期数组,这些日期本身不计入计数。
- weekmaskstr or array_like of bool, optional
一个七元素数组,指示星期一到星期日中的哪些是有效日期。可以指定为长度为七的列表或数组,例如 [1,1,1,1,1,0,0];长度为七的字符串,例如 ‘1111100’;或者一个字符串,例如 “Mon Tue Wed Thu Fri”,由三个字符的星期缩写组成,可选地用空格分隔。有效的缩写是:Mon Tue Wed Thu Fri Sat Sun
- holidaysarray_like of datetime64[D], optional
被视为无效日期的日期数组。可以按任意顺序指定,并且会忽略 NaT (not-a-time) 日期。此列表以适合快速计算有效日期的规范化形式保存。
- busdaycalbusdaycalendar, optional
一个
busdaycalendar对象,该对象指定了有效日期。如果提供了此参数,则不能同时提供 weekmask 或 holidays。- outarray of int, optional
如果提供,此数组将填充结果。
- 返回:
- outarray of int
一个数组,其形状是通过广播
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