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

Python Pandas – 반폐쇄(closed='right') 시간 간격 생성 후 끝점 포함 여부 확인하기

pandas.Interval()을 사용하고 closed 매개변수를 'right'로 설정하면 반폐쇄(half-closed) 시간 간격을 만들 수 있습니다. 또한 in 연산자를 활용하면 특정 값이 구간의 끝점으로 포함되어 있는지 손쉽게 확인할 수 있습니다.

필요한 라이브러리 임포트

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

import pandas as pd

반폐쇄 구간 생성하기

closed 매개변수에 'right' 값을 지정하면 반폐쇄 구간이 설정됩니다. 반폐쇄 구간이란 예를 들어 (0, 5]처럼 왼쪽은 열려 있고 오른쪽은 닫혀 있는 구간으로, 0 < x <= 5라는 조건과 동일합니다(closed='right').

interval = pd.Interval(left=0, right=20, closed='right')

생성된 구간을 출력해 확인해 보겠습니다.

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

끝점 포함 여부 확인하기

in 연산자를 사용하면 특정 요소가 구간에 포함되어 있는지 검사할 수 있습니다. 아래 예제는 closed='right'로 설정된 구간에는 오른쪽 끝점만 포함되고 왼쪽 끝점은 제외된다는 것을 보여줍니다.

print("\nThe left-most element exists in the Interval? = \n",0 in interval)
print("\nThe right-most element exists in the Interval? = \n",20 in interval)

전체 예제 코드

다음은 위에서 설명한 내용을 모두 포함한 전체 코드입니다.

import pandas as pd

# closed 매개변수에 'right' 값을 지정하여 반폐쇄 구간 생성
# 반폐쇄 구간 (0, 5]은 0 < x <= 5 조건과 동일합니다 (closed='right').
interval = pd.Interval(left=0, right=20, closed='right')

# 구간 출력
print("Interval...\n",interval)

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

# 구간 내 요소 포함 여부 확인
# closed='right'인 경우 오른쪽 끝점만 포함됩니다.
print("\nThe left-most element exists in the Interval? = \n",0 in interval)
print("\nThe right-most element exists in the Interval? = \n",20 in interval)

실행 결과

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

Interval...
(0, 20]

Interval length...
20

The left-most element exists in the Interval? = 
False

The right-most element exists in the Interval? = 
True

실행 결과에서 알 수 있듯이, closed='right'로 설정된 구간 (0, 20]은 왼쪽 끝점인 0은 포함하지 않고(False), 오른쪽 끝점인 20만 포함(True)합니다. 이처럼 closed 매개변수를 활용하면 구간 경계값의 포함 여부를 유연하게 제어할 수 있으며, 데이터 구간화(binning) 작업에서 경계 처리 규칙을 명확히 정의할 때 매우 유용합니다.