구간(interval) 데이터를 다루는 Pandas 배열을 만들려면 pandas.arrays.IntervalArray() 메서드를 사용하면 됩니다. 이 메서드는 여러 개의 pd.Interval 객체를 하나의 배열 구조로 묶어주며, 구간 데이터의 길이 계산이나 벡터화 연산에 유용하게 활용됩니다.
1. 필요한 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. Interval 객체 생성
두 개의 Interval 객체를 만들어 보겠습니다.
interval1 = pd.Interval(10, 30) interval2 = pd.Interval(30, 70)
생성된 구간을 출력해 확인합니다.
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)3. IntervalArray 생성
Interval 객체들을 리스트로 전달하여 새로운 IntervalArray를 생성합니다.
array = pd.arrays.IntervalArray([interval1, interval2])
전체 예제 코드
import pandas as pd
# 두 개의 Interval 객체 생성
interval1 = pd.Interval(10, 30)
interval2 = pd.Interval(30, 70)
# 구간 출력
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# Interval 객체들로부터 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray([interval1, interval2])
# IntervalArray 출력
print("\nOur IntervalArray...\n", array)
# IntervalArray의 길이 확인
# 배열 내 각 Interval의 길이를 담은 Index를 반환합니다.
print("\nOur IntervalArray length...\n", array.length)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Interval1... (10, 30] Interval2... (30, 70] Our IntervalArray... <IntervalArray> [(10, 30], (30, 70]] Length: 2, dtype: interval[int64, right] Our IntervalArray length... Int64Index([20, 40], dtype='int64')
정리
출력 결과에서 볼 수 있듯이, 기본적으로 pd.Interval은 왼쪽은 열리고(open) 오른쪽은 닫힌(closed) 구간인 (10, 30] 형태로 생성됩니다. 또한 array.length 속성을 사용하면 각 구간의 길이(30-10=20, 70-30=40)를 한 번에 확인할 수 있습니다. 이처럼 IntervalArray는 여러 구간 데이터를 효율적으로 관리하고 분석할 때 매우 유용한 자료구조입니다.