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

Python Pandas - 분할 배열로 IntervalArray 만들고 구간이 왼쪽·오른쪽·양쪽·어느 쪽도 아닌 방향으로 닫혀 있는지 확인하는 방법

개요

분할 지점(breaks)의 배열로부터 IntervalArray를 생성하려면 pandas.arrays.IntervalArray.from_breaks() 메서드를 사용합니다.

그리고 구간(interval)이 왼쪽, 오른쪽, 양쪽 모두, 혹은 어느 쪽으로도 닫혀 있지 않은지 확인하려면 array.closed 속성을 활용하면 됩니다.

1단계: 필요한 라이브러리 임포트

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

import pandas as pd

2단계: 분할 배열로 IntervalArray 생성

분할 지점의 배열과 유사한(array-like) 데이터를 사용해 새로운 IntervalArray를 생성합니다. 기본적으로 구간은 "오른쪽(right)"으로 닫혀 있습니다.

array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

3단계: IntervalArray 출력

생성된 구간들을 화면에 표시합니다.

print("Our IntervalArray...\n",array)

4단계: 구간이 닫혀 있는 방향 확인

IntervalArray의 구간이 왼쪽, 오른쪽, 양쪽 모두 혹은 어느 쪽으로도 닫혀 있지 않은지 확인합니다.

print("\nChecking whether the intervals is closed...\n",array.closed)

전체 예제 코드

다음은 전체 코드입니다.

import pandas as pd

# 분할 지점의 배열로 새로운 IntervalArray 생성
# 기본적으로 구간은 "오른쪽(right)"으로 닫혀 있음
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

# IntervalArray 출력
print("Our IntervalArray...\n",array)

# IntervalArray의 길이 확인
# IntervalArray 내 각 구간의 길이를 나타내는 Index 반환
print("\nOur IntervalArray length...\n",array.length)

# IntervalArray 내 각 구간의 중간값(midpoint)을 Index로 반환
print("\nThe midpoint of each interval in the IntervalArray...\n",array.mid)

# 각 구간의 오른쪽 끝점(endpoints) 확인
print("\nThe right endpoints of each Interval in the IntervalArray as an Index...\n",array.right)

# 구간이 왼쪽, 오른쪽, 양쪽 모두 혹은 어느 쪽으로도 닫혀 있지 않은지 확인
print("\nChecking whether the intervals is closed...\n",array.closed)

실행 결과

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

Our IntervalArray...
<IntervalArray>
[(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
Length: 5, dtype: interval[int64, right]

Our IntervalArray length...
Int64Index([1, 1, 1, 1, 1], dtype='int64')

The midpoint of each interval in the IntervalArray...
Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64')

The right endpoints of each Interval in the IntervalArray as an Index...
Int64Index([1, 2, 3, 4, 5], dtype='int64')

Checking whether the intervals is closed...
Right

정리

실행 결과를 보면 각 구간이 (0, 1], (1, 2]처럼 왼쪽은 열려 있고 오른쪽은 닫혀 있는 형태임을 알 수 있습니다. dtype에 표시된 interval[int64, right]에서 "right"가 바로 구간이 오른쪽으로 닫혀 있음을 의미하며, array.closed 속성 역시 "Right"를 반환하는 것을 확인할 수 있습니다.