분할 지점(breaks) 배열로부터 IntervalArray를 생성하려면 pandas.arrays.IntervalArray.from_breaks() 메서드를 사용하고, 각 구간(interval)의 왼쪽 끝점을 얻으려면 array.left 속성을 사용하면 됩니다.
필요한 라이브러리 임포트
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
IntervalArray 생성하기
from_breaks()에 분할 지점 목록을 전달하면 인접한 두 지점이 하나의 구간을 이루는 IntervalArray가 만들어집니다. 아래 예제에서는 [0, 1, 2, 3, 4, 5]라는 여섯 개의 지점으로 다섯 개의 반열린 구간 (0, 1], (1, 2], ..., (4, 5]이 생성됩니다.
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
왼쪽 끝점 반환받기
array.left 속성은 IntervalArray에 포함된 각 구간의 왼쪽 끝점을 Index 객체 형태로 반환합니다.
print("\n각 구간의 왼쪽 끝점(Index)...\n", array.left)
전체 예제 코드
지금까지의 내용을 모두 담은 전체 코드는 다음과 같습니다.
import pandas as pd
# 분할 지점 배열로 새로운 IntervalArray를 생성합니다.
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
# IntervalArray를 출력합니다.
print("생성된 IntervalArray...\n", array)
# IntervalArray의 길이를 구합니다.
# 각 구간의 길이를 담고 있는 Index가 반환됩니다.
print("\nIntervalArray의 길이...\n", array.length)
# 각 구간의 중간값(midpoint)을 Index로 확인합니다.
print("\n각 구간의 중간값...\n", array.mid)
# 각 구간의 왼쪽 끝점을 구합니다.
print("\n각 구간의 왼쪽 끝점(Index)...\n", array.left)
실행 결과
위 코드를 실행하면 다음과 같은 출력이 나옵니다.
생성된 IntervalArray... <IntervalArray> [(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]] Length: 5, dtype: interval[int64, right] IntervalArray의 길이... Int64Index([1, 1, 1, 1, 1], dtype='int64') 각 구간의 중간값... Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64') 각 구간의 왼쪽 끝점(Index)... Int64Index([0, 1, 2, 3, 4], dtype='int64')