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)을 알려주므로 함께 활용하면 구간 데이터를 더욱 효과적으로 다룰 수 있습니다.