현재 IntervalArray와 동일하지만 지정된 방향으로 닫힌 새로운 IntervalArray를 반환하려면 set_closed() 메서드를 사용하고 매개변수에 'both'를 전달하면 됩니다.
set_closed() 메서드란?
set_closed()는 기존 구간의 경계값은 그대로 유지하면서 구간이 닫히는 쪽(left, right, both, neither)만 변경하여 새로운 IntervalArray를 생성합니다. 원본 배열은 변경되지 않으며, 항상 새로운 객체가 반환됩니다.
1단계: 필요한 라이브러리 임포트하기
import pandas as pd
2단계: IntervalArray 생성하기
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
from_breaks()는 분할 지점(breaks) 리스트로부터 IntervalArray를 생성합니다. 위 예제에서는 0부터 5까지의 경계값을 사용해 다섯 개의 구간을 만듭니다.
3단계: IntervalArray 출력하기
print("Our IntervalArray...\n", array)
4단계: set_closed('both') 적용하기
print("\nAn identical IntervalArray closed on the specified side...\n", array.set_closed('both'))
전체 예제 코드
import pandas as pd
# 분할 지점 배열로부터 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
# IntervalArray 출력
print("Our IntervalArray...\n", array)
# 지정된 방향(양쪽)으로 닫힌 동일한 IntervalArray 반환
print("\nAn identical IntervalArray closed on the specified side...\n", array.set_closed('both'))
실행 결과
Our IntervalArray... <IntervalArray> [(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]] Length: 5, dtype: interval[int64, right] An identical IntervalArray closed on the specified side... <IntervalArray> [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]] Length: 5, dtype: interval[int64, both]
결과 해석
원본 IntervalArray는 기본적으로 오른쪽이 닫힌(right) 반열린 구간 [(0, 1], (1, 2], ...]을 가집니다. set_closed('both')를 적용하면 왼쪽과 오른쪽이 모두 닫힌 폐구간 [[0, 1], [1, 2], ...]으로 변환되며, dtype도 interval[int64, both]로 변경됩니다. 이처럼 set_closed()를 활용하면 데이터의 경계 포함 여부를 손쉽게 조절할 수 있습니다.