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


Python pandas.tseries.offsets.DateOffset用法及代碼示例

用法:

class pandas.tseries.offsets.DateOffset

用於日期範圍的標準日期增量。

與 relativedelta 的關鍵字參數形式完全相同。請注意,不支持 relativedelata 的位置參數形式。不鼓勵使用關鍵字 n - 您最好在使用的關鍵字中指定 n,但不管它是否適合您。 DateOffset 子類需要 n。

DateOffset 的工作原理如下。每個偏移量指定一組符合 DateOffset 的日期。例如,Bday 將此集定義為工作日的日期集 (M-F)。要測試日期是否在 DateOffset dateOffset 的集合中,我們可以使用 is_on_offset 方法:dateOffset.is_on_offset(date)。

如果日期不在有效日期,則可以使用回滾和前滾方法將日期滾動到該日期之前/之後的最接近的有效日期。

可以創建 DateOffsets 以將日期向前移動給定數量的有效日期。例如,可以將 Bday(2) 添加到日期以將其向前移動兩個工作日。如果日期不是從有效日期開始的,則首先將其移至有效日期。因此偽代碼是:

def __add__(日期):

date = rollback(date) # 如果 date 有效則什麽也不做 return date + <n number of period>

當為負數期間創建日期偏移時,日期首先前滾。偽代碼是:

def __add__(日期):

date = rollforward(date) # 什麽都不做是 date 是有效的 return date + <n number of period>

零代表了一個問題。它應該向前滾動還是向後滾動?我們任意讓它前滾:

日期 + BDay(0) == BDay.rollforward(date)

由於 0 有點奇怪,我們建議避免使用它。

參數

n整數,默認 1

偏移量表示的時間段數。如果沒有指定時間模式,則默認為 n 天。

normalize布爾值,默認為 False

是否將 DateOffset 加法的結果向下舍入到前一個午夜。

**kwds

添加或替換偏移值的時間參數。

添加到偏移量的參數(如 Timedelta):

  • years

  • months

  • weeks

  • days

  • hours

  • minutes

  • seconds

  • microseconds

  • nanoseconds

替換偏移值的參數:

  • year

  • month

  • day

  • weekday

  • hour

  • minute

  • second

  • microsecond

  • 納秒。

例子

>>> from pandas.tseries.offsets import DateOffset
>>> ts = pd.Timestamp('2017-01-01 09:10:11')
>>> ts + DateOffset(months=3)
Timestamp('2017-04-01 09:10:11')
>>> ts = pd.Timestamp('2017-01-01 09:10:11')
>>> ts + DateOffset(months=2)
Timestamp('2017-03-01 09:10:11')

相關用法


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