当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python NumPy is_busday方法用法及代码示例

Numpy 的 is_busday(~) 方法检查每个日期字符串是否是有效日期。请注意,busday 代表工作日,但我们可以通过参数指定"business" 日。

参数

1.dates | array-likedatetime

日期时间的输入数组。日期时间本质上是格式化的字符串,如下所示:

"2020-05-25"

2. weekmask | stringarray-likeboolean | 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" ,即有效工作日为周一至周五(含周一至周五)。

3. holidays | datetimearray-like | optional

被视为无效日期的日期时间数组。

4. busdaycal | busdaycalender | optional

一个 busdaycalendar 对象,指定哪些日期被视为有效日期。如果提供此参数,则不应指定参数 weekmaskholidays

返回值

布尔值的 Numpy 数组,其中 True 表示有效的日期时间,否则为 False。

例子

指定周掩码

np.is_busday(["2020-12-25", "2020-12-26", "2020-12-27"], "1111110")



array([ True,  True, False])

在这里,我们将星期日设置为无效日期 - 如果您检查日历,您会看到 "2020-12-27" 是星期日,因此这就是我们为该条目得到 False 的原因。

指定假期

holidays = ["2020-12-25"]
np.is_busday(["2020-12-25", "2020-12-26", "2020-12-27"], "1111111", holidays)



array([False,  True,  True])

此处,2020-12-25 返回 False,因为我们将该日期指定为假期,假期被视为无效日期。

指定有效日期

我们还可以只指定有效日期并使所有其他日期无效,而不是指定无效日期:

bdc = np.busdaycalendar(weekmask="1111111", holidays=["2020-12-26"])
np.is_busday(["2020-12-25", "2020-12-26", "2020-12-27"], busdaycal=bdc)



array([ True, False,  True])

此处,busdaycalendar 对象指定哪些日期被视为有效。这里可能会令人困惑,但 busdaycalender 的构造函数中使用的假期是有效日期时间的列表。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | is_busday method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。