pandas.interval_range#

pandas.interval_range(начало=None, end=None, periods=None, freq=None, имя=None, закрыт='right')[источник]#

Возвращает IntervalIndex с фиксированной частотой.

Параметры:
началочисловой или похожий на дату/время, по умолчанию None

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

endчисловой или похожий на дату/время, по умолчанию None

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

periodsint, по умолчанию None

Количество периодов для генерации.

freqчисловой, str, Timedelta, datetime.timedelta или DateOffset, по умолчанию None

Длина каждого интервала. Должна быть согласована с типом начала и конца, например, 2 для числовых или '5H' для датоподобных. По умолчанию 1 для числовых и 'D' для датоподобных.

имяstr, по умолчанию None

Имя результирующего IntervalIndex.

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

Закрыты ли интервалы с левой стороны, правой стороны, с обеих сторон или ни с одной.

Возвращает:
IntervalIndex

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

IntervalIndex

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

Примечания

Из четырех параметров start, end, periods, и freq, необходимо указать ровно три. Если freq опущен, результирующий IntervalIndex будет иметь periods линейно распределённые элементы между start и end, включительно.

Чтобы узнать больше о строках частоты, похожих на datetime, см. эта ссылка.

Примеры

Числовой start и end поддерживается.

>>> pd.interval_range(start=0, end=5)
IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]],
              dtype='interval[int64, right]')

Кроме того, также поддерживается ввод, похожий на datetime.

>>> pd.interval_range(start=pd.Timestamp('2017-01-01'),
...                   end=pd.Timestamp('2017-01-04'))
IntervalIndex([(2017-01-01 00:00:00, 2017-01-02 00:00:00],
               (2017-01-02 00:00:00, 2017-01-03 00:00:00],
               (2017-01-03 00:00:00, 2017-01-04 00:00:00]],
              dtype='interval[datetime64[ns], right]')

The freq параметр задаёт частоту между левой и правой конечными точками отдельных интервалов в IntervalIndex. Для числовых start и end, частота также должна быть числовой.

>>> pd.interval_range(start=0, periods=4, freq=1.5)
IntervalIndex([(0.0, 1.5], (1.5, 3.0], (3.0, 4.5], (4.5, 6.0]],
              dtype='interval[float64, right]')

Аналогично, для datetime-подобных start и end, частота должна быть преобразуема в DateOffset.

>>> pd.interval_range(start=pd.Timestamp('2017-01-01'),
...                   periods=3, freq='MS')
IntervalIndex([(2017-01-01 00:00:00, 2017-02-01 00:00:00],
               (2017-02-01 00:00:00, 2017-03-01 00:00:00],
               (2017-03-01 00:00:00, 2017-04-01 00:00:00]],
              dtype='interval[datetime64[ns], right]')

Укажите start, end, и periods; частота генерируется автоматически (равномерно распределённая).

>>> pd.interval_range(start=0, end=6, periods=4)
IntervalIndex([(0.0, 1.5], (1.5, 3.0], (3.0, 4.5], (4.5, 6.0]],
          dtype='interval[float64, right]')

The closed параметр указывает, какие конечные точки отдельных интервалов в IntervalIndex закрыты.

>>> pd.interval_range(end=5, periods=4, closed='both')
IntervalIndex([[1, 2], [2, 3], [3, 4], [4, 5]],
              dtype='interval[int64, both]')