Метод from_breaks
Статический метод from_breaks класса IntervalIndex
создает интервальный индекс из последовательности точек-границ.
На вход подается массив значений, которые попарно образуют левые
и правые границы интервалов. По умолчанию интервалы являются
полуоткрытыми справа (left, right], однако параметр
closed позволяет изменить это поведение. Метод полезен,
когда нужно быстро сгруппировать данные по заранее заданным
промежуткам.
Синтаксис
pd.IntervalIndex.from_breaks(breaks, closed='right', name=None, copy=False)
Параметры метода:
-
breaks- массив точек-границ (должен содержать не менее двух элементов); -
closed- определяет, с какой стороны интервал замкнут: 'left', 'right', 'both' или 'neither'; -
name- имя для создаваемого индекса; -
copy- еслиTrue, создает копию данных.
Пример
Создадим интервалы из последовательности чисел от 0 до 10 с шагом 2:
import pandas as pd
breaks = [0, 2, 4, 6, 8, 10]
interval_index = pd.IntervalIndex.from_breaks(breaks)
print(interval_index)
Результат выполнения кода:
IntervalIndex([(0, 2], (2, 4], (4, 6], (6, 8], (8, 10]], dtype='interval[int64, right]')
Обратите внимание: интервалы создаются как полуоткрытые справа
(left, right] в силу значения параметра closed='right'
по умолчанию.
Пример
Изменим тип замкнутости интервалов на левостороннюю
closed='left':
import pandas as pd
breaks = [0, 2, 4, 6, 8, 10]
interval_index = pd.IntervalIndex.from_breaks(breaks, closed='left')
print(interval_index)
Результат выполнения кода:
IntervalIndex([[0, 2), [2, 4), [4, 6), [6, 8), [8, 10)], dtype='interval[int64, left]')
Пример
Присвоим созданному интервальному индексу имя:
import pandas as pd
breaks = [1, 3, 5, 7, 9]
interval_index = pd.IntervalIndex.from_breaks(breaks, name='intervals')
print(interval_index)
Результат выполнения кода:
IntervalIndex([(1, 3], (3, 5], (5, 7], (7, 9]], dtype='interval[int64, right]', name='intervals')
Пример
Создадим интервалы с замкнутостью с обеих сторон
closed='both':
import pandas as pd
breaks = [0, 1, 2, 3, 4]
interval_index = pd.IntervalIndex.from_breaks(breaks, closed='both')
print(interval_index)
Результат выполнения кода:
IntervalIndex([[0, 1], [1, 2], [2, 3], [3, 4]], dtype='interval[int64, both]')
Смотрите также
-
метод
from_arrays,
который создает интервалы из двух массивов границ -
метод
from_tuples,
который создает интервалы из кортежей -
атрибут
left,
который возвращает левые границы интервалов -
атрибут
right,
который возвращает правые границы интервалов