當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy busday_offset用法及代碼示例


本文簡要介紹 python 語言中 numpy.busday_offset 的用法。

用法:

numpy.busday_offset(dates, offsets, roll='raise', weekmask='1111100', holidays=None, busdaycal=None, out=None)

首先根據 roll 規則將日期調整為有效日期,然後將偏移量應用於以有效天數計算的給定日期。

參數

dates 類似 datetime64[D] 的數組

要處理的日期數組。

offsets int的數組

使用 dates 廣播的偏移量數組。

roll {‘raise’, ‘nat’, ‘forward’, ‘following’, ‘backward’, ‘preceding’, ‘modifiedfollowing’, ‘modifiedpreceding’},可選

如何處理不屬於有效日期的日期。默認值為‘raise’。

  • ‘raise’ 表示為無效的一天引發異常。

  • ‘nat’ 表示返回無效日期的 NaT (not-a-time)。

  • ‘forward’和‘following’的意思是取第一個有效日的時間晚一些。

  • ‘backward’和‘preceding’表示提前取第一個有效日的時間。

  • ‘modifiedfollowing’ 表示將第一個有效日期的時間推遲,除非它跨越月份邊界,在這種情況下,將第一個有效日期提前。

  • ‘modifiedpreceding’ 表示提前取第一個有效日期,除非它跨越月份邊界,在這種情況下取第一個有效日期的時間稍晚。

weekmask str 或 數組 的 bool,可選

一個 seven-element 數組,指示周一到周日中的哪一天是有效日期。可以指定為 length-seven 列表或數組,如 [1,1,1,1,1,0,0]; length-seven 字符串,例如 ‘1111100’;或類似“Mon Tue Wed Thu Fri”的字符串,由工作日的 3 個字符縮寫組成,可選用空格分隔。有效縮寫為: Mon Tue Wed Thu Fri Sat Sun

holidays 類似 datetime64[D] 的數組,可選

被視為無效日期的日期數組。它們可以按任何順序指定,而NaT (not-a-time) 日期將被忽略。此列表以適合快速計算有效天數的規範化形式保存。

busdaycal busdaycalendar,可選

指定有效日期的 busdaycalendar 對象。如果提供此參數,則不能提供 weekmask 和假期。

out datetime64[D] 數組,可選

如果提供,此數組將填充結果。

返回

out datetime64[D] 數組

一個具有來自廣播datesoffsets 的形狀的數組,其中包含應用了偏移的日期。

例子

>>> # 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')

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.busday_offset。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。