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]')