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

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

Python | 熊猫 CustomBusinessDay.freqstr

介绍

熊猫(Pandas)CustomBusinessDay.offsets()方法返回一组定制的工作日偏移量,可以用于日期时间处理。CustomBusinessDay()函数还需要指定offset参数,该参数指定了周末的休息日。该方法返回一个频率字符串(freqstr),freqstr可以表示这个日期时间偏移量对象,同时也是pandas to_datetime函数中freq参数的输入。

CustomBusinessDay.offsets(freqstr)方法帮助你创建一个偏移量对象,该对象表示“定制工作日”的偏移量,以便在时间戳上向前或向后移动指定的数量值。

语法
CustomBusinessDay(offset=None, weekmask='Mon Tue Wed Thu Fri', holidays=None, calendar=None)
参数

offset:字符串或日期偏移量(DateOffset)对象。

weekmask:字符串或表示为数字的列表,指定一周中的哪些日期是工作日。

holidays:日期时间或日期时间数组,表示不应包括在工作日计算中的日期。

calendar:日期时间或日期时间数组,表示应包括在工作日计算中的日期。

返回值

freqstr:频率字符串,可以在pandas to_datetime函数中使用。

例子
import pandas as pd
from pandas.tseries.offsets import CustomBusinessDay

# 创建一个定制的工作日日期偏移量
bd = CustomBusinessDay(weekmask='Sun Mon Tue Wed Thu', holidays=['2022-01-01'])

# 创建一个时间戳,并加上一个定制的工作日偏移量值
dt = pd.Timestamp('2022-01-01')
dt + bd

# 输出:Timestamp('2022-01-02 00:00:00')

在上面的例子中,我们使用了CustomBusinessDay()方法创建了一个偏移量对象bd,该对象表示在周日、周一、周二、周三、周四上班,节假日是2022年1月1日。然后我们创建一个时间戳dt(2022年1月1日),并将该偏移量对象bd加到时间戳dt上,返回了一个新的时间戳(2022年1月2日)。新的时间戳就是在原始时间戳dt上加上定制的工作日偏移量值后的结果。

参考
  1. https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#custom-businessdays
  2. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.tseries.offsets.CustomBusinessDay.html
  3. https://www.geeksforgeeks.org/python-pandas-custombusinessday-offset/