pandas.tseries.offsets.SemiMonthEnd#

class pandas.tseries.offsets.SemiMonthEnd#

Two DateOffset’s per month repeating on the last day of the month & day_of_month.

Parameters:
nint, default 1

The number of months represented.

normalizebool, default False

Normalize start/end dates to midnight before generating date range.

day_of_monthint, {1, 3,…,27}, default 15

A specific integer for the day of the month.

Examples

>>> ts = pd.Timestamp(2022, 1, 14)
>>> ts + pd.offsets.SemiMonthEnd()
Timestamp('2022-01-15 00:00:00')
>>> ts = pd.Timestamp(2022, 1, 15)
>>> ts + pd.offsets.SemiMonthEnd()
Timestamp('2022-01-31 00:00:00')
>>> ts = pd.Timestamp(2022, 1, 31)
>>> ts + pd.offsets.SemiMonthEnd()
Timestamp('2022-02-15 00:00:00')

If you want to get the result for the current month:

>>> ts = pd.Timestamp(2022, 1, 15)
>>> pd.offsets.SemiMonthEnd().rollforward(ts)
Timestamp('2022-01-15 00:00:00')

Attributes

base

Returns a copy of the calling offset object with n=1 and all other attributes equal.

day_of_month

freqstr

Return a string representing the frequency.

kwds

Return a dict of extra parameters for the offset.

n

name

Return a string representing the base frequency.

nanos

normalize

rule_code

Methods

copy()

Return a copy of the frequency.

is_month_end(ts)

Return boolean whether a timestamp occurs on the month end.

is_month_start(ts)

Return boolean whether a timestamp occurs on the month start.

is_on_offset(dt)

Return boolean whether a timestamp intersects with this frequency.

is_quarter_end(ts)

Return boolean whether a timestamp occurs on the quarter end.

is_quarter_start(ts)

Return boolean whether a timestamp occurs on the quarter start.

is_year_end(ts)

Return boolean whether a timestamp occurs on the year end.

is_year_start(ts)

Return boolean whether a timestamp occurs on the year start.

rollback(dt)

Roll provided date backward to next offset only if not on offset.

rollforward(dt)

Roll provided date forward to next offset only if not on offset.