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

Python Pandas – 튜플 배열로 IntervalArray를 구성하고 각 구간의 왼쪽 끝점 반환하기


튜플(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 속성을 활용하면 구간 데이터에서 시작 지점만 손쉽게 추출할 수 있습니다.