pandas.Interval#

класс pandas.Interval#

Неизменяемый объект, реализующий Interval, ограниченный интервал, похожий на срез.

Параметры:
leftупорядочиваемый скаляр

Левая граница интервала.

правыйупорядочиваемый скаляр

Правая граница интервала.

закрыт{‘right’, ‘left’, ‘both’, ‘neither’}, по умолчанию ‘right’

Закрыт ли интервал слева, справа, с обеих сторон или ни с одной. См. примечания для более подробного объяснения.

Смотрите также

IntervalIndex

Индекс объектов Interval, которые все закрыты с одной стороны.

cut

Преобразование непрерывных данных в дискретные бины (Categorical из объектов Interval).

qcut

Преобразование непрерывных данных в бины (категориальные объекты Interval) на основе квантилей.

Period

Представляет период времени.

Примечания

Параметры left и правый должны быть одного типа, вы должны быть способны сравнивать их, и они должны удовлетворять left <= right.

Замкнутый интервал (в математике обозначается квадратными скобками) содержит свои конечные точки, т.е. замкнутый интервал [0, 5] характеризуется условиями 0 <= x <= 5. Это то, что closed='both' обозначает. Открытый интервал (в математике обозначаемый скобками) не содержит своих конечных точек, т.е. открытый интервал (0, 5) характеризуется условиями 0 < x < 5. Это то, что closed='neither' обозначает. Интервалы также могут быть полуоткрытыми или полузакрытыми, т.е. [0, 5) описывается 0 <= x < 5 (closed='left') и (0, 5] описывается 0 < x <= 5 (closed='right').

Примеры

Можно создавать интервалы разных типов, например числовые:

>>> iv = pd.Interval(left=0, right=5)
>>> iv
Interval(0, 5, closed='right')

Вы можете проверить, принадлежит ли элемент ему или содержит ли он другой интервал:

>>> 2.5 in iv
True
>>> pd.Interval(left=2, right=5, closed='both') in iv
True

Вы можете проверить границы (closed='right', поэтому 0 < x <= 5):

>>> 0 in iv
False
>>> 5 in iv
True
>>> 0.0001 in iv
True

Вычислить его длину

>>> iv.length
5

Вы можете работать с + и * над Interval и операция применяется к каждой из его границ, поэтому результат зависит от типа элементов границы

>>> shifted_iv = iv + 3
>>> shifted_iv
Interval(3, 8, closed='right')
>>> extended_iv = iv * 10.0
>>> extended_iv
Interval(0.0, 50.0, closed='right')

Чтобы создать временной интервал, вы можете использовать Timestamps в качестве границ

>>> year_2017 = pd.Interval(pd.Timestamp('2017-01-01 00:00:00'),
...                         pd.Timestamp('2018-01-01 00:00:00'),
...                         closed='left')
>>> pd.Timestamp('2017-01-01 00:00') in year_2017
True
>>> year_2017.length
Timedelta('365 days 00:00:00')

Атрибуты

closed

Строка, описывающая включенную сторону интервалов.

closed_left

Проверить, закрыт ли интервал с левой стороны.

closed_right

Проверить, закрыт ли интервал с правой стороны.

is_empty

Указывает, является ли интервал пустым, то есть не содержит точек.

left

Левая граница интервала.

length

Возвращает длину интервала.

mid

Возвращает середину интервала.

open_left

Проверить, открыт ли интервал с левой стороны.

open_right

Проверяет, открыт ли интервал с правой стороны.

right

Правая граница интервала.

Методы

overlaps(other)

Проверить, перекрываются ли два объекта Interval.