pandas.tseries.offsets.CustomBusinessMonthBegin#
- class pandas.tseries.offsets.CustomBusinessMonthBegin#
DateOffset 子类表示自定义的营业月。
月份开始日期之间的增量。
- 参数:
- nint, 默认 1
表示的月份数。
- normalize布尔值, 默认为 False
在生成日期范围之前,将开始日期标准化为午夜。
- weekmaskstr, 默认值 ‘Mon Tue Wed Thu Fri’
有效工作日的周掩码,传递给
numpy.busdaycalendar
。- 假期列表
要从有效工作日集合中排除的日期列表/数组,传递给
numpy.busdaycalendar
。- 日历np.busdaycalendar
日历以进行集成。
- offsettimedelta, 默认 timedelta(0)
要应用的时间偏移。
参见
DateOffset
标准的日期增量类型。
例子
在下面的例子中,我们使用了默认参数。
>>> ts = pd.Timestamp(2022, 8, 5) >>> ts + pd.offsets.CustomBusinessMonthBegin() Timestamp('2022-09-01 00:00:00')
可以通过
weekmask
参数指定自定义的业务月开始。在下一个示例中,使用函数 strftime() 将返回的 datetime 对象转换为其字符串表示。>>> import datetime as dt >>> freq = pd.offsets.CustomBusinessMonthBegin(weekmask="Wed Thu") >>> pd.date_range(dt.datetime(2022, 7, 10), dt.datetime(2022, 12, 18), ... freq=freq).strftime('%a %d %b %Y %H:%M') Index(['Wed 03 Aug 2022 00:00', 'Thu 01 Sep 2022 00:00', 'Wed 05 Oct 2022 00:00', 'Wed 02 Nov 2022 00:00', 'Thu 01 Dec 2022 00:00'], dtype='object')
使用 NumPy 工作日日历,您可以定义自定义假期。
>>> import datetime as dt >>> bdc = np.busdaycalendar(holidays=['2022-08-01', '2022-09-30', ... '2022-10-31', '2022-11-01']) >>> freq = pd.offsets.CustomBusinessMonthBegin(calendar=bdc) >>> pd.date_range(dt.datetime(2022, 7, 10), dt.datetime(2022, 11, 10), freq=freq) DatetimeIndex(['2022-08-02', '2022-09-01', '2022-10-03', '2022-11-02'], dtype='datetime64[ns]', freq='CBMS')
属性
基础
返回调用偏移对象的一个副本,其中 n=1 且所有其他属性相同。
cbday_roll
定义默认的滚动函数,在应用方法中调用。
返回一个表示频率的字符串。
返回一个包含偏移额外参数的字典。
month_roll
定义默认的滚动函数,在应用方法中调用。
返回表示基本频率的字符串。
返回一个整数,表示固定频率的总纳秒数。
偏移量
self._offset 的别名。
返回表示基本频率的字符串。
方法
复制
()返回频率的副本。
is_month_end
(ts)返回布尔值,判断一个时间戳是否发生在月末。
is_month_start
(ts)返回布尔值,判断时间戳是否发生在月初。
is_on_offset
(dt)返回布尔值,判断一个时间戳是否与该频率相交。
is_quarter_end
(ts)返回布尔值,判断一个时间戳是否发生在季度末。
is_quarter_start
(ts)返回布尔值,判断一个时间戳是否发生在季度开始。
is_year_end
(ts)返回布尔值,判断一个时间戳是否发生在年末。
is_year_start
(ts)返回布尔值,判断一个时间戳是否发生在年初。
回滚
(dt)如果不在偏移上,则将提供的日期向后滚动到下一个偏移。
rollforward
(dt)如果不在偏移上,则将提供的日期向前滚动到下一个偏移。