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')
属性
返回n=1且所有其他属性相同的调用偏移量对象的副本。
freqstr
kwds
n
name
nanos
normalize
rule_code
方法:
将Self作为函数调用。
仅当不在偏移量上时,才将提供的日期向后滚动到下一个偏移量。
仅当不在偏移量上时,才将提供的日期前滚到下一个偏移量。
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