python中offset_python pandas tseries.offsets.DateOffset用法及代码示例

本文介绍了Python pandas库中tseries.offsets.DateOffset的用法,包括如何创建日期增量,如何判断日期是否在偏移量集合内,以及如何使用rollback和rollforward方法调整日期。此外,还提供了示例展示DateOffset如何应用于Timestamp对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

就您传入的关键字args而言,其工作方式与relativedelta完全相同,不建议使用关键字n-最好在使用的关键字中指定n,但无论它是否适合您。 DateOffset子类需要n。

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

如果日期不是有效日期,则可以使用rollback和rollforward方法将日期滚动到该日期之前/之后的最近有效日期。

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

def __add __(date):date = rollback(date)#如果日期是有效的返回日期+ ,则不执行任何操作

如果创建的日期偏移量为负数,则日期将被前滚。伪代码为:

def __add __(date):date = rollforward(date)#什么都不做,日期是有效的返回日期+

零表示一个问题。它应该向前还是向后滚动?我们任意地将其前滚:

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

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

参数:

n:int, 默认为 1偏移量表示的时间段数。

normalize:bool, 默认为 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')

属性:

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

freqstr

kwds

name

nanos

rule_code

方法:

apply_index(self, other)

DateOffset对DatetimeIndex的矢量化应用,在没有矢量化实现的情况下,会引发NotImplentedError以获取偏移量。

rollback(self, dt)

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

仅将提供的日期向前滚动到下一个偏移量,除非不在偏移量上。

__call__

apply

copy

isAnchored

is_anchored

is_on_offset

onOffset

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值