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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。