Функция interval_range
Функция interval_range создает интервальный индекс для работы с промежутками значений. Она полезна, когда нужно разбить непрерывные данные на категории (например, возрастные группы или ценовые диапазоны). Функция возвращает объект IntervalIndex, который можно использовать как индекс для DataFrame или Series.
Основные параметры функции:
start- левая граница первого интервала;end- правая граница последнего интервала;periods- количество интервалов;freq- шаг интервала (число, строка или объектDateOffset);closed- сторона, которая включается в интервал ('left', 'right', 'both', 'neither').
Синтаксис
pd.interval_range(start=None, end=None, periods=None, freq=None, closed='right')
Пример
Создадим интервальный индекс с 4 интервалами от 0 до 8:
import pandas as pd
index = pd.interval_range(start=0, end=8, periods=4)
print(index)
Результат выполнения кода:
IntervalIndex([(0, 2], (2, 4], (4, 6], (6, 8]], dtype='interval[int64, right]')
Пример
Создадим интервалы с шагом 3:
import pandas as pd
index = pd.interval_range(start=0, periods=5, freq=3)
print(index)
Результат выполнения кода:
IntervalIndex([(0, 3], (3, 6], (6, 9], (9, 12], (12, 15]], dtype='interval[int64, right]')
Пример
Изменим сторону включения границ на левую:
import pandas as pd
index = pd.interval_range(start=0, end=10, periods=3, closed='left')
print(index)
Результат выполнения кода:
IntervalIndex([[0, 3), [3, 7), [7, 10)], dtype='interval[int64, left]')
Пример
Используем интервальный индекс для группировки данных:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
index = pd.interval_range(start=1, end=6, periods=3, closed='left')
df['group'] = pd.cut(df['a'], bins=index)
print(df)
Результат выполнения кода:
a b group
0 1 10 [1, 3)
1 2 20 [1, 3)
2 3 30 [3, 5)
3 4 40 [3, 5)
4 5 50 [5, 6)
Смотрите также
-
функция
date_range,
которая создает индекс дат с фиксированной частотой -
функция
period_range,
которая создает индекс периодов времени -
функция
timedelta_range,
которая создает индекс временных интервалов -
функция
bdate_range,
которая создает индекс рабочих дней