pandas.tseries.offsets.CustomBusinessMonthEnd#

class pandas.tseries.offsets.CustomBusinessMonthEnd#

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.CustomBusinessMonthEnd()
Timestamp('2022-08-31 00:00:00')

可以通过 weekmask 参数指定自定义的业务月末。在下一个示例中,使用函数 strftime() 将返回的 datetime 对象转换为其字符串表示。

>>> import datetime as dt
>>> freq = pd.offsets.CustomBusinessMonthEnd(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(['Thu 28 Jul 2022 00:00', 'Wed 31 Aug 2022 00:00',
       'Thu 29 Sep 2022 00:00', 'Thu 27 Oct 2022 00:00',
       'Wed 30 Nov 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.CustomBusinessMonthEnd(calendar=bdc)
>>> pd.date_range(dt.datetime(2022, 7, 10), dt.datetime(2022, 11, 10), freq=freq)
DatetimeIndex(['2022-07-29', '2022-08-31', '2022-09-29', '2022-10-28'],
               dtype='datetime64[ns]', freq='CBME')

属性

基础

返回调用偏移对象的一个副本,其中 n=1 且所有其他属性相同。

日历

cbday_roll

定义默认的滚动函数,在应用方法中调用。

freqstr

返回一个表示频率的字符串。

holidays

kwds

返回一个包含偏移额外参数的字典。

m_offset

month_roll

定义默认的滚动函数,在应用方法中调用。

n

名称

返回表示基本频率的字符串。

nanos

返回一个整数,表示固定频率的总纳秒数。

normalize

偏移量

self._offset 的别名。

rule_code

返回表示基本频率的字符串。

weekmask

方法

复制()

返回频率的副本。

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)

如果不在偏移上,则将提供的日期向前滚动到下一个偏移。