Python Pandas에서 IntervalArray에 포함된 구간(Interval)이 비어 있는지 확인하려면 array.is_empty 속성을 사용하면 됩니다. 이 속성은 배열 내 각 구간이 비어 있는지 여부를 불리언(Boolean) 값으로 담은 배열을 반환합니다.
여기서 '빈 구간(empty interval)'이란 해당 범위 안에 어떠한 점도 포함되어 있지 않은 구간을 의미합니다. 예를 들어 closed='neither'로 설정된 (0, 0) 구간은 시작점과 끝점이 모두 제외되기 때문에 길이가 0인 빈 구간이 됩니다.
1. 라이브러리 가져오기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. Interval 객체 생성하기
두 개의 Interval 객체를 생성합니다. 'closed' 매개변수에 'neither' 값을 지정하여 양쪽 끝점을 모두 제외하는 열린 구간(open interval)으로 설정합니다.
interval1 = pd.Interval(0, 0, closed='neither')
interval2 = pd.Interval(20, 50, closed='neither')
3. 구간 출력하기
생성한 구간들을 화면에 출력하여 확인합니다.
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)4. IntervalArray 생성하기
앞서 만든 Interval 객체들을 사용하여 새로운 IntervalArray를 구성합니다.
array = pd.arrays.IntervalArray([interval1, interval2])
5. 빈 구간 여부 확인하기
is_empty 속성을 사용하여 IntervalArray의 각 구간이 비어 있는지 확인합니다.
print("\nCheck if IntervalArray is empty?\n", array.is_empty)전체 예제 코드
아래는 위 과정을 모두 포함한 전체 예제 코드입니다.
import pandas as pd
# 두 개의 Interval 객체 생성
# "closed" 매개변수에 "neither" 값을 지정하여 열린 구간으로 설정
interval1 = pd.Interval(0, 0, closed='neither')
interval2 = pd.Interval(20, 50, closed='neither')
# 구간 출력
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# 구간 길이 출력
print("\nInterval1 length...\n", interval1.length)
print("\nInterval2 length...\n", interval2.length)
# Interval 객체들로부터 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray([interval1, interval2])
# IntervalArray 출력
print("\nOur IntervalArray...\n", array)
# IntervalArray의 길이 확인
# IntervalArray 내 각 구간의 길이를 담은 Index를 반환
print("\nOur IntervalArray length...\n", array.length)
# IntervalArray의 구간이 비어 있는지 확인
print("\nCheck if IntervalArray is empty?\n", array.is_empty)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Interval1...
(0, 0)
Interval2...
(20, 50)
Interval1 length...
0
Interval2 length...
30
Our IntervalArray...
<IntervalArray>
[(0, 0), (20, 50)]
Length: 2, dtype: interval[int64, neither]
Our IntervalArray length...
Int64Index([0, 30], dtype='int64')
Check if IntervalArray is empty?
[ True False]
결과 해석
출력 결과를 살펴보면, 첫 번째 구간 (0, 0)은 시작점과 끝점이 모두 제외된 열린 구간이므로 길이가 0이며, is_empty 결과가 True로 나타납니다. 즉, 해당 구간에는 어떤 점도 포함될 수 없는 빈 구간입니다. 반면 두 번째 구간 (20, 50)은 길이가 30인 유효한 구간이므로 False가 반환됩니다.
이처럼 is_empty 속성을 활용하면 IntervalArray 내부의 각 구간이 실제로 값을 가지는지 손쉽게 검증할 수 있으며, 데이터 전처리나 구간 기반 분석 시 유용하게 활용할 수 있습니다.