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

Python Pandas – 튜플 배열로 IntervalArray 생성하기

개요

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) 형태로 변환하여 구간 기반 데이터 분석에 활용할 수 있습니다.