Pandas IntervalIndex란?
IntervalIndex는 Pandas에서 구간(interval) 데이터를 표현하기 위한 특수한 인덱스입니다. 각 구간은 시작값과 끝값을 가지며, 구간 기반 데이터 분석이나 cut() 함수와 함께 활용될 때 특히 유용합니다.
from_arrays() 메서드로 IntervalIndex 생성하기
IntervalIndex를 생성하려면 pandas.IntervalIndex.from_arrays() 메서드를 사용합니다. 이 메서드는 왼쪽 경계(left) 배열과 오른쪽 경계(right) 배열을 인자로 받아 해당 값들로 구성된 구간들을 만들어 줍니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
다음과 같이 IntervalIndex를 생성할 수 있습니다.
interval = pd.IntervalIndex.from_arrays([5, 10, 15], [10, 15, 20])
생성된 구간을 화면에 출력해 보겠습니다.
print("IntervalIndex...\n", interval)
전체 예제 코드
아래는 IntervalIndex를 생성하고, 각 구간의 길이(length)까지 함께 확인하는 전체 코드입니다.
import pandas as pd
# IntervalIndex 생성
interval = pd.IntervalIndex.from_arrays([5, 10, 15], [10, 15, 20])
# 구간 출력
print("IntervalIndex...\n", interval)
# 각 구간의 길이 출력
print("\nIntervalIndex length...\n", interval.length)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
IntervalIndex... IntervalIndex([(5, 10], (10, 15], (15, 20]], dtype='interval[int64, right]') IntervalIndex length... Int64Index([5, 5, 5], dtype='int64')
핵심 포인트 정리
- 기본 설정(
closed='right')에서는 구간이 왼쪽은 열리고 오른쪽은 닫힙니다. 즉,(5, 10]은 5는 제외하고 10을 포함합니다. closed매개변수를'left','both','neither'로 지정하면 경계값의 포함 여부를 자유롭게 조절할 수 있습니다..length속성을 사용하면 모든 구간의 길이를 한 번에 확인할 수 있으며, 위 예제에서는 세 구간 모두 길이가 5임을 알 수 있습니다.- 배열의 길이가 서로 다르거나 왼쪽 경계가 오른쪽 경계보다 크면 오류가 발생하므로, 두 배열의 순서와 크기를 항상 일치시켜야 합니다.