pandas.tseries.offsets.CustomBusinessMonthEnd # pandas.tseries.offsets类 。自定义业务月末# 代表自定义业务月份的 DateOffset 子类。 月末日期之间的增量。 参数: n整数,默认1代表的月份数。 标准化布尔值,默认 False在生成日期范围之前将结束日期标准化为午夜。 weekmask str,默认“周一周二周三周四周五”有效工作日的周掩码,传递至numpy.busdaycalendar。 假期清单要从有效工作日集中排除的日期列表/数组,传递给numpy.busdaycalendar. 日历np.busdaycalendar要集成的日历。 偏移量timedelta,默认timedelta(0)要应用的时间偏移。 也可以看看 DateOffset标准类型的日期增量。 例子 在下面的示例中,我们使用默认参数。 >>> ts = pd.Timestamp(2022, 8, 5) >>> ts + pd.offsets.CustomBusinessMonthEnd() Timestamp('2022-08-31 00:00:00') 自定义业务月末可以通过weekmask参数指定。要将返回的日期时间对象转换为其字符串表示形式,下一个示例中将使用函数 strftime()。 >>> 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') 属性 base 返回调用偏移对象的副本,其中 n=1 且所有其他属性相等。 calendar cbday_roll 定义要在 apply 方法中调用的默认滚动函数。 freqstr 返回表示频率的字符串。 holidays kwds 返回偏移量的额外参数的字典。 m_offset month_roll 定义要在 apply 方法中调用的默认滚动函数。 n name 返回表示基频的字符串。 nanos normalize offset self._offset 的别名。 rule_code weekmask 方法 copy() 返回频率的副本。 is_anchored() (已弃用)返回布尔值,频率是否为单位频率 (n=1)。 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) 返回布尔值,时间戳是否出现在年份开始。 rollback(dt) 仅当不在偏移上时,才将提供的日期向后滚动到下一个偏移。 rollforward(dt) 仅当不在偏移时,将提供的日期向前滚动到下一个偏移。