pandas.tseries.offsets.DateOffset#

class pandas.tseries.offsets.DateOffset#

用于日期范围的标准类型的日期增量。

其工作原理与relativedelta的关键字参数形式完全相同。请注意,不支持relativedelata的位置参数形式。不鼓励使用关键字n--最好在您使用的关键字中指定n,但无论如何它都是为您准备的。DateOffset子类需要N。

DateOffset的工作原理如下。每个偏移量指定一组符合DateOffset的日期。例如,Bday将此集合定义为工作日(M-F)的日期集。要测试日期是否在DateOffset日期偏移量的集合中,我们可以使用is_on_Offset方法:DateOffset.is_on_Offset(Date)。

如果日期不在有效日期上,可以使用回滚和前滚方法将该日期滚动到该日期之前/之后的最接近的有效日期。

可以创建DateOffset以将日期向前移动给定数量的有效日期。例如,可以将Bday(2)添加到日期以将其向前移动两个工作日。如果日期不是从有效日期开始的,则首先将其移动到有效日期。因此,伪码是:

定义__添加__(日期):

日期=回滚(日期)#如果日期是有效的返回日期+<n期间数>则不执行任何操作

当为负数的期间创建日期偏移量时,将首先前滚该日期。伪码为:

定义__添加__(日期):

日期=前滚(日期)#不执行任何操作是日期是有效返回日期+<n期间数>

零代表一个问题。它应该向前滚动还是向后滚动?我们随意地让它前滚:

日期+BDay(0)==BDay。前滚(日期)

由于0有点奇怪,我们建议避免使用它。

此外,添加由Date组件的单数形式指定的DateOffsets可以用来替换时间戳的某些组件。

参数
n整型,默认值为1

偏移量表示的时间段数。如果指定时未指定时间模式,则默认为n天。

normalize布尔值,默认为False

是否将DateOffset相加的结果向下舍入到前一个午夜。

**kwds

添加或替换偏移值的临时参数。

参数 add 到偏移量(如Timedelta):

  • 年份

  • 月份

  • 周数

  • 日数

  • 小时数

  • 分钟数

  • 一秒

  • 毫秒

  • 微秒级

  • 纳秒

参数 替换 偏移值:

  • 月份

  • 工作日

  • 小时

  • 分钟

  • 第二

  • 微秒级

  • 纳秒。

参见

dateutil.relativedelta.relativedelta

Relativedelta类型被设计为应用于现有的DateTime,并且可以替换该DateTime的特定组件,或者表示时间间隔。

示例

>>> 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')
>>> ts + DateOffset(day=31)
Timestamp('2017-01-31 09:10:11')
>>> ts + pd.DateOffset(hour=8)
Timestamp('2017-01-01 08:10:11')

属性

base 

返回n=1且所有其他属性相同的调用偏移量对象的副本。

freqstr

kwds

n

name

nanos

normalize

rule_code

方法:

__call__ \(*args, * *kwargs)

将Self作为函数调用。

rollback 

仅当不在偏移量上时,才将提供的日期向后滚动到下一个偏移量。

rollforward 

仅当不在偏移量上时,才将提供的日期前滚到下一个偏移量。

apply

apply_index

copy

isAnchored

is_anchored

is_month_end

is_month_start

is_on_offset

is_quarter_end

is_quarter_start

is_year_end

is_year_start

onOffset