📌  相关文章
📜  Python|熊猫 tseries.offsets.CustomBusinessDay.rollback(1)

📅  最后修改于: 2023-12-03 15:04:27.197000             🧑  作者: Mango

Python|熊猫 tseries.offsets.CustomBusinessDay.rollback介绍

简介

在 Pandas 数据处理库中,tseries.offsets.CustomBusinessDay.rollback 方法用于计算给定日期往回的一个工作日或多个工作日。该方法是一个 BusinessDay 直接继承类,并通过实现其 AbstractBusinessDay 对象中的 rollforward 和 rollback 方法来完成。

语法
CustomBusinessDay.rollback(self, dates, **kwargs)
参数
  • dates: 指定的 pandas Timestamp 或 DatetimeIndex 对象,需要计算的日期列表。

  • kwargs: 关键字参数,可以传入以下参数:

    • n: 往回计算的工作日数。

    • weekmask: 一个长度为7的布尔列表,指定了一周的每一天是否为工作日,True表示工作日,False表示非工作日。默认为星期一至星期五工作,星期六、星期日休息。

    • holidays: 指定一组日期作为非工作日,在计算工作日的时候会排除这些日期。

返回值

返回一个与输入日期相同长度的 DatetimeIndex。

示例
>>> from pandas.tseries.offsets import CustomBusinessDay
>>> from pandas import Timestamp, date_range
>>> bday = CustomBusinessDay(weekmask='Sun Mon Tue Wed Thu')
>>> dates = date_range(start='2021-07-01', end='2021-07-10', freq='D')
>>> bday.rollback(dates, n=1)
DatetimeIndex(['2021-07-09'], dtype='datetime64[ns]', freq=None)

上面的示例中,创建了一个自定义的 BusinessDay 对象 bday,指定了周一至周五为工作日,周六、周日为非工作日。然后创建一个日期范围 dates,从 2021-07-01 到 2021-07-10,默认每一天都是工作日。最后调用 bday.rollback 方法,往回计算 n=1 个工作日,返回 2021-07-09 这一天。