Pandas IntervalIndex로 빈 구간(Empty Interval) 확인하기
Pandas에서 특정 구간(interval)이 비어 있는지, 즉 어떤 점도 포함하고 있지 않은지 확인하려면 interval.is_empty 속성을 사용하면 됩니다. 이 속성은 각 구간에 대해 불리언(Boolean) 값(True/False)을 반환하여 해당 구간이 비어 있는지 여부를 알려줍니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
다음으로 IntervalIndex를 생성합니다. 아래 예제에서는 시작값과 끝값이 모두 0인 두 개의 구간을 배열로부터 만듭니다.
interval = pd.IntervalIndex.from_arrays([0, 0], [0, 0])
생성된 구간을 화면에 출력해 보겠습니다.
print("IntervalIndex...\n", interval)그리고 is_empty 속성을 사용해 구간이 비어 있는지 확인합니다.
print("\nIs the interval empty?\n", interval.is_empty)전체 예제 코드
아래는 위 과정을 하나로 정리한 전체 코드입니다.
import pandas as pd
# IntervalIndex 생성
interval = pd.IntervalIndex.from_arrays([0, 0], [0, 0])
# 구간 출력
print("IntervalIndex...\n", interval)
# 구간의 길이 출력
print("\nIntervalIndex length...\n", interval.length)
# 구간이 비어 있는지 확인
print("\nIs the interval empty?\n", interval.is_empty)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
IntervalIndex... IntervalIndex([(0, 0], (0, 0]], dtype='interval[int64, right]') IntervalIndex length... Int64Index([0, 0], dtype='int64') Is the interval empty? [ True True]
결과 해석
시작값과 끝값이 모두 0으로 동일한 구간 (0, 0]은 왼쪽이 열려 있고(open) 오른쪽만 닫혀 있기(closed) 때문에 실질적으로 어떠한 점도 포함하지 않습니다. 따라서 is_empty 속성은 두 구간 모두에 대해 True를 반환합니다.
참고로 기본 설정에서 Pandas의 구간은 오른쪽이 닫힌(right-closed) 형태인 (a, b]를 사용합니다. 만약 양쪽이 모두 닫힌(closed='both') 구간이라면 [0, 0]은 점 0을 포함하므로 빈 구간으로 간주되지 않는다는 점도 함께 기억해 두면 좋습니다.