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

Python Pandas - IntervalIndex에서 중간점(midpoint) 구하는 방법

Pandas의 IntervalIndex에서 각 구간(Interval)의 중간점을 구하려면 interval.mid 속성을 사용하면 됩니다. 이 속성은 각 구간의 왼쪽 경계값과 오른쪽 경계값의 평균을 계산하여 반환합니다.

필요한 라이브러리 임포트

먼저 필요한 라이브러리를 임포트합니다.

import pandas as pd

IntervalIndex 생성

pd.IntervalIndex.from_arrays() 메서드를 사용하여 시작값 배열과 끝값 배열로부터 IntervalIndex를 생성합니다.

interval = pd.IntervalIndex.from_arrays([10, 15, 20], [20, 25, 30])

IntervalIndex 출력하기

생성된 IntervalIndex를 화면에 표시합니다.

print("IntervalIndex...\n", interval)

중간점(midpoint) 반환하기

interval.mid 속성을 사용하여 각 구간의 중간점을 확인합니다.

print("\n구간의 중간점...\n", interval.mid)

전체 예제 코드

아래는 위 과정을 모두 포함한 전체 예제 코드입니다.

import pandas as pd

# IntervalIndex 생성
interval = pd.IntervalIndex.from_arrays([10, 15, 20], [20, 25, 30])

# IntervalIndex 출력
print("IntervalIndex...\n", interval)

# 구간 길이(length) 출력
print("\nIntervalIndex 길이...\n", interval.length)

# 구간이 어느 쪽에 닫혀 있는지 확인 (왼쪽, 오른쪽, 양쪽, 또는 닫히지 않음)
print("\nIntervalIndex 타입 확인...\n", interval.closed)

# 왼쪽 경계값
print("\nIntervalIndex의 왼쪽 경계값...\n", interval.left)

# 오른쪽 경계값
print("\nIntervalIndex의 오른쪽 경계값...\n", interval.right)

# 구간의 중간점 반환
print("\n구간의 중간점...\n", interval.mid)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

IntervalIndex...
IntervalIndex([(10, 20], (15, 25], (20, 30]], dtype='interval[int64, right]')

IntervalIndex 길이...
Int64Index([10, 10, 10], dtype='int64')

IntervalIndex 타입 확인...
right

IntervalIndex의 왼쪽 경계값...
Int64Index([10, 15, 20], dtype='int64')

IntervalIndex의 오른쪽 경계값...
Int64Index([20, 25, 30], dtype='int64')

구간의 중간점...
Float64Index([15.0, 20.0, 25.0], dtype='float64')

정리

이 예제에서 볼 수 있듯이, interval.mid 속성은 각 구간의 중간점을 실수(float) 형태로 반환합니다. 예를 들어 첫 번째 구간 (10, 20]의 중간점은 (10 + 20) / 2 = 15.0이 됩니다. 참고로 interval.length는 구간의 길이를, interval.closed는 구간이 닫힌 방향(right, left, both, neither)을 알려주므로 함께 활용하면 구간 데이터를 더욱 효과적으로 다룰 수 있습니다.