개요
Pandas에서 튜플 배열(array-like of tuples)로부터 IntervalArray를 생성하려면 pandas.arrays.IntervalArray.from_tuples() 메서드를 사용합니다. 이 메서드는 각 튜플의 첫 번째 값을 구간의 시작점으로, 두 번째 값을 끝점으로 하는 Interval 객체들의 배열을 만들어 줍니다.
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 튜플 배열로 IntervalArray 생성
튜플들의 리스트를 전달하여 새로운 IntervalArray를 생성합니다.
array = pd.arrays.IntervalArray.from_tuples([(10, 25), (15, 70)])
3. 생성된 IntervalArray 확인
생성된 IntervalArray를 화면에 출력해 내용을 확인할 수 있습니다.
print("Our IntervalArray...\n", array)4. 각 구간의 길이(length) 확인
.length 속성을 사용하면 IntervalArray에 포함된 각 구간의 길이를 Index 형태로 얻을 수 있습니다.
print("\nOur IntervalArray length...\n", array.length)전체 예제 코드
아래는 위 과정을 모두 포함한 완전한 예제입니다. 추가로 각 구간의 중간값(midpoint)도 함께 확인해 보겠습니다.
import pandas as pd
# 튜플 배열로 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray.from_tuples([(10, 25), (15, 70)])
# IntervalArray 출력
print("Our IntervalArray...\n", array)
# IntervalArray의 각 구간 길이 확인
# IntervalArray 내 각 Interval의 길이를 담은 Index를 반환합니다.
print("\nOur IntervalArray length...\n", array.length)
# IntervalArray 내 각 구간의 중간값(midpoint)을 Index로 반환
print("\nThe midpoint of each interval in the IntervalArray...\n", array.mid)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
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')
결과 해석
출력 결과를 살펴보면 다음과 같은 특징을 확인할 수 있습니다.
- 구간 표기: 기본 설정(closed='right')에서는 왼쪽 경계는 열려 있고(
() 오른쪽 경계는 닫혀 있어(]) 구간이(10, 25],(15, 70]처럼 표시됩니다. - length: 첫 번째 구간의 길이는 25 − 10 = 15, 두 번째 구간의 길이는 70 − 15 = 55로 계산됩니다.
- mid: 각 구간의 중간값은 (10+25)/2 = 17.5, (15+70)/2 = 42.5가 되며, 실수형 Float64Index로 반환됩니다.
이처럼 from_tuples() 메서드를 활용하면 튜플 데이터를 손쉽게 구간(interval) 형태로 변환하여 구간 기반 데이터 분석에 활용할 수 있습니다.