Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – IntervalArray에서 각 구간(Interval)의 길이를 담은 인덱스 반환하기

개요

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 형태로 한 번에 반환되는 것을 확인할 수 있습니다.