Атрибут mid
Атрибут mid применяется к IntervalIndex
и возвращает среднюю точку (середину) для каждого интервала.
Вычисляется как среднее арифметическое между левой и правой
границами интервала: (left + right) / 2.
Результатом является Index со значениями того же типа,
что и границы интервалов.
Синтаксис
interval_index.mid
Атрибут не принимает параметров.
Пример
Создадим интервалы с целочисленными границами и получим их середины:
import pandas as pd
intervals = pd.IntervalIndex.from_breaks([0, 10, 20, 30])
print(intervals)
print(intervals.mid)
Результат выполнения кода:
IntervalIndex([(0, 10], (10, 20], (20, 30]], dtype='interval[int64, right]')
Index([5, 15, 25], dtype='int64')
Как видно из примера, для интервала (0, 10]
средняя точка равна 5, для (10, 20] - 15
и для (20, 30] - 25.
Пример
Рассмотрим работу с интервалами, созданными из массивов границ:
import pandas as pd
intervals = pd.IntervalIndex.from_arrays(
[1, 5, 10],
[4, 9, 15]
)
print(intervals)
print(intervals.mid)
Результат выполнения кода:
IntervalIndex([(1, 4], (5, 9], (10, 15]], dtype='interval[int64, right]')
Index([2.5, 7.0, 12.5], dtype='float64')
Обратите внимание, что при нечётной сумме границ
результат может быть дробным числом, и тип данных
автоматически меняется на float64.
Пример
Получим середины интервалов с плавающей точкой:
import pandas as pd
intervals = pd.IntervalIndex.from_tuples([
(0.5, 1.5),
(2.0, 3.5),
(4.5, 6.0)
])
print(intervals)
print(intervals.mid)
Результат выполнения кода:
IntervalIndex([(0.5, 1.5], (2.0, 3.5], (4.5, 6.0]], dtype='interval[float64, right]')
Index([1.0, 2.75, 5.25], dtype='float64')
Для интервалов с плавающей точкой вычисление середины происходит аналогично.
Смотрите также
-
атрибут
left,
который возвращает левые границы интервалов -
атрибут
right,
который возвращает правые границы интервалов -
атрибут
length,
который возвращает длины интервалов -
класс
IntervalIndex,
который представляет индекс из интервалов