튜플(tuple)로 이루어진 배열에서 IntervalArray(구간 배열)를 생성하려면 pandas.arrays.IntervalArray.from_tuples() 메서드를 사용합니다. 그리고 IntervalArray에 포함된 각 구간(Interval)의 왼쪽 끝점을 확인하려면 array.left 속성을 사용하면 됩니다.
array.left는 각 구간의 시작 지점(왼쪽 경계값)만 모아서 Index 객체 형태로 반환해 주기 때문에, 구간 데이터에서 시작값만 추출할 때 매우 유용합니다.
기본 사용 방법
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
튜플 배열을 사용해 새로운 IntervalArray를 생성합니다.
array = pd.arrays.IntervalArray.from_tuples([(10, 25),(15, 70)])
생성된 구간들을 출력해 확인합니다.
print("Our IntervalArray...\n",array)
각 구간의 왼쪽 끝점을 가져옵니다.
print("\nThe left endpoints of each Interval in the IntervalArray as an Index...\n", array.left)
전체 예제 코드
다음은 위 과정을 하나로 정리한 전체 코드입니다.
import pandas as pd
# 튜플 배열로 새로운 IntervalArray를 생성합니다
array = pd.arrays.IntervalArray.from_tuples([(10, 25),(15, 70)])
# IntervalArray를 출력합니다
print("Our IntervalArray...\n",array)
# IntervalArray의 길이를 구합니다
# 각 구간의 길이(length)를 담고 있는 Index를 반환합니다
print("\nOur IntervalArray length...\n",array.length)
# 각 구간의 중간값(midpoint)을 Index 형태로 반환합니다
print("\nThe midpoint of each interval in the IntervalArray...\n",array.mid)
# 각 구간의 왼쪽 끝점(left endpoint)을 가져옵니다
print("\nThe left endpoints of each Interval in the IntervalArray as an Index...\n",array.left)
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Our IntervalArray... <IntervalArray> [(10, 25], (15, 70]] Length: 2, dtype: interval[int64, right] Our IntervalArray length... Int64Index([15, 55], dtype='int64') The midpoint of each interval in the IntervalArray... Float64Index([17.5, 42.5], dtype='float64') The left endpoints of each Interval in the IntervalArray as an Index... Int64Index([10, 15], dtype='int64')
결과 해석
실행 결과를 살펴보면 다음과 같은 정보를 얻을 수 있습니다.
1. 구간 길이(length): 첫 번째 구간 (10, 25]의 길이는 25 − 10 = 15, 두 번째 구간 (15, 70]의 길이는 70 − 15 = 55이므로 Int64Index([15, 55])가 반환됩니다.
2. 구간 중간값(mid): 첫 번째 구간의 중간값은 (10 + 25) / 2 = 17.5, 두 번째 구간의 중간값은 (15 + 70) / 2 = 42.5이므로 Float64Index([17.5, 42.5])가 반환됩니다.
3. 왼쪽 끝점(left): 각 구간의 시작값인 10과 15가 Int64Index([10, 15]) 형태로 반환됩니다. 이처럼 .left 속성을 활용하면 구간 데이터에서 시작 지점만 손쉽게 추출할 수 있습니다.