개요
pandas의 array.length 속성을 사용하면 IntervalArray에 포함된 각 구간(Interval)의 길이를 나타내는 항목들이 담긴 인덱스(Index)를 손쉽게 반환받을 수 있습니다.
필수 라이브러리 임포트
먼저 필요한 라이브러리를 불러옵니다.
import pandas as pd
Interval 객체 생성
"closed" 매개변수를 "both"로 설정하여 양쪽 끝이 모두 포함되는 닫힌(closed) 구간 두 개를 생성합니다.
interval1 = pd.Interval(50, 75, closed='both')
interval2 = pd.Interval(65, 95, closed='both')
IntervalArray 생성하기
앞서 만든 Interval 객체들을 이용해 새로운 IntervalArray를 구성합니다.
array = pd.arrays.IntervalArray([interval1, interval2])
생성된 IntervalArray를 출력하여 확인합니다.
print("\nOur IntervalArray...\n", array)
각 구간의 길이 구하기
array.length 속성을 호출하면 IntervalArray 내부의 각 Interval 길이를 나타내는 항목들이 담긴 Index가 반환됩니다.
print("\nOur IntervalArray length...\n", array.length)
전체 예제 코드
아래는 위 과정을 하나로 정리한 전체 코드입니다.
import pandas as pd
# 두 개의 Interval 객체 생성
# "closed" 매개변수를 "both"로 지정하여 양쪽이 닫힌 구간으로 설정
interval1 = pd.Interval(50, 75, closed='both')
interval2 = pd.Interval(65, 95, closed='both')
# 각 구간 출력
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# 각 구간의 길이 출력
print("\nInterval1 length...\n", interval1.length)
print("\nInterval2 length...\n", interval2.length)
# 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... [50, 75] Interval2... [65, 95] Interval1 length... 25 Interval2 length... 30 Our IntervalArray... <IntervalArray> [[50, 75], [65, 95]] Length: 2, dtype: interval[int64, both] Our IntervalArray length... Int64Index([25, 30], dtype='int64')
정리
IntervalArray에서 각 구간의 길이가 필요할 때는 별도의 계산 없이 .length 속성만 호출하면 됩니다. 위 예제에서는 [50, 75] 구간과 [65, 95] 구간의 길이인 25와 30이 Int64Index 형태로 한 번에 반환되는 것을 확인할 수 있습니다.