Numpy 的 busday_count(~)
方法计算给定日期时间范围的有效日期的数量。请注意,busday 代表工作日,但我们可以通过参数指定"business" 日。
参数
1.begindates
| array-like
共 datetime
开始日期时间。日期时间本质上是格式化的字符串,如下所示:
"2020-05-25"
2. enddates
| array-like
共 datetime
结束日期时间。这是排他性的,也就是说,如果您指定 enddates=A
并且您的某个日期确实包含 A,则该日期将不会包含在计数中。
3. weekmask
| string
或array-like
或boolean
| optional
一周中被视为有效的日子。您可以指定长度为 7 的字符串,其中 0 代表无效,1 代表有效工作日,从周一到周日。例如,"1111100"
意味着周末(周六和周日)为无效日期。此外,您还可以使用 three-character 缩写,例如:
Mon Tue Wed Thu Fri Sat Sun
例如,"Mon Wed Fri"
表示只有星期一、星期三和星期五是有效日期,所有其他工作日均无效。
或者,您可以提供大小为 7 的布尔值数组,其中 True 表示相应的工作日有效,否则为 False。例如,[True,True,True,True,True,False,False]
再次意味着周末是无效日期。
默认情况下, weekmask="1111100"
,即有效工作日为周一至周五(含周一至周五)。
4. holidays
| datetime
的array-like
| optional
被视为无效日期的日期时间数组。
5. busdaycal
| busdaycalender
| optional
一个 Busdaycalender 对象,指定哪些日期被视为有效日期。如果提供了此参数,则不应指定参数 weekmask 和holidays。
6. out
| Numpy array
| optional
我们可以将结果存储在 out
中,这样可以节省内存空间,因为不会创建新的数组。
返回值
如果为 begindates
和 enddates
提供了日期时间,则返回单个整数。一个 Numpy 整数数组,表示指定范围内的日期计数。
例子
基本用法
统计2020-12-20至2020-12-28期间非周一和周日的天数:
np.busday_count("2020-12-20", "2020-12-28", "0111110")
5
计算2020-12-20至2020-12-28期间除2020-12-25和2020-12-27之外的天数:
christmas_break = ["2020-12-25", "2020-12-27"]
np.busday_count("2020-12-20", "2020-12-28", holidays= christmas_break)
4
使用busdaycal对象
计算 2020-12-20 至 2020-12-28 期间星期一和星期二的日期数量:
bdc = np.busdaycalendar(weekmask="Mon Tue")
np.busday_count("2020-12-20", "2020-12-28", busdaycal=bdc)
2
相关用法
- Python NumPy busday_offset方法用法及代码示例
- Python NumPy busdaycalendar对象用法及代码示例
- Python MongoDB bulk_write()用法及代码示例
- Python binascii.crc32用法及代码示例
- Python bytes.isupper用法及代码示例
- Python base64.b64decode()用法及代码示例
- Python bokeh.plotting.figure.asterisk()用法及代码示例
- Python bytes.zfill用法及代码示例
- Python binary转string用法及代码示例
- Python base64.b32decode()用法及代码示例
- Python bytes.expandtabs用法及代码示例
- Python bytearray()用法及代码示例
- Python bokeh.plotting.figure.annular_wedge()用法及代码示例
- Python NumPy base属性用法及代码示例
- Python Pandas bdate_range方法用法及代码示例
- Python bytes.isalpha用法及代码示例
- Python base64.b85encode()用法及代码示例
- Python base64.b64encode()用法及代码示例
- Python bokeh.plotting.figure.circle()用法及代码示例
- Python bytes.hex用法及代码示例
- Python bool()用法及代码示例
- Python bz2.decompress(s)用法及代码示例
- Python bokeh.plotting.figure.circle_cross()用法及代码示例
- Python bokeh.plotting.figure.bezier()用法及代码示例
- Python bokeh.plotting.figure.diamond()用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | busday_count method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。