Метод from_arrays
Метод from_arrays класса IntervalIndex
позволяет создать индекс интервалов на основе двух отдельных
массивов, которые задают левые и правые границы интервалов.
Первый параметр left содержит левые границы,
второй right - правые. Третий параметр closed
определяет, какие границы включаются в интервал:
'left', 'right', 'both' или 'neither'.
По умолчанию используется 'right'.
Синтаксис
pd.IntervalIndex.from_arrays(left, right, closed='right')
Пример
Создадим индекс интервалов из двух списков границ:
import pandas as pd
left = [1, 3, 5]
right = [2, 4, 6]
idx = pd.IntervalIndex.from_arrays(left, right)
print(idx)
Результат выполнения кода:
IntervalIndex([(1, 2], (3, 4], (5, 6]], dtype='interval[int64, right]')
Пример
Укажем параметр closed со значением 'left',
чтобы левая граница включалась, а правая нет:
import pandas as pd
left = [1, 3, 5]
right = [2, 4, 6]
idx = pd.IntervalIndex.from_arrays(left, right, closed='left')
print(idx)
Результат выполнения кода:
IntervalIndex([[1, 2), [3, 4), [5, 6)], dtype='interval[int64, left]')
Пример
Используем оба массива в виде серий Pandas:
import pandas as pd
left = pd.Series([10, 20, 30])
right = pd.Series([15, 25, 35])
idx = pd.IntervalIndex.from_arrays(left, right, closed='both')
print(idx)
Результат выполнения кода:
IntervalIndex([[10, 15], [20, 25], [30, 35]], dtype='interval[int64, both]')
Пример
Создадим DataFrame с интервальным индексом
и выполним операцию фильтрации:
import pandas as pd
left = [1, 3, 5, 7]
right = [3, 5, 7, 9]
idx = pd.IntervalIndex.from_arrays(left, right)
df = pd.DataFrame({'a': [10, 20, 30, 40]}, index=idx)
print(df)
Результат выполнения кода:
a
(1, 3] 10
(3, 5] 20
(5, 7] 30
(7, 9] 40
Смотрите также
-
метод
from_breaks,
который создает интервалы из массива границ -
метод
from_tuples,
который создает интервалы из кортежей -
атрибут
left,
который возвращает левые границы интервалов -
атрибут
right,
который возвращает правые границы интервалов