Python의 pandas.Interval() 함수를 사용하면 닫힌 구간(closed interval)을 손쉽게 만들 수 있습니다. 이때 closed 매개변수를 활용하며, 구간에 특정 값이 포함되어 있는지(즉, 끝점이 존재하는지)는 in 연산자로 확인할 수 있습니다.
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 닫힌 구간(Closed Interval)이란?
닫힌 구간은 수학에서 대괄호 [ ] 로 표기하며, 양쪽 끝점을 모두 포함하는 구간을 의미합니다. 예를 들어 닫힌 구간 [0, 5]는 0 ≤ x ≤ 5 조건을 만족하는 모든 값을 포함합니다.
Pandas에서는 closed 매개변수에 'both' 값을 지정하여 양쪽 끝점을 모두 포함하는 구간을 만들 수 있습니다.
interval = pd.Interval(left=0, right=20, closed='both')
3. 구간 출력하기
생성된 구간을 화면에 표시해 보겠습니다.
print("Interval...\n", interval)4. 끝점 포함 여부 확인하기
in 연산자를 사용하면 특정 요소가 구간 안에 존재하는지 확인할 수 있습니다. closed='both'로 설정된 구간은 왼쪽 끝점과 오른쪽 끝점을 모두 포함한다는 것을 아래 코드로 검증할 수 있습니다.
print("\n가장 왼쪽 요소(0)가 구간에 존재하는가? = \n", 0 in interval)
print("\n가장 오른쪽 요소(20)가 구간에 존재하는가? = \n", 20 in interval)전체 예제 코드
지금까지 설명한 내용을 하나로 합친 전체 코드는 다음과 같습니다.
import pandas as pd
# closed 매개변수에 'both' 값을 지정하여 닫힌 구간 생성
# 닫힌 구간은 수학에서 대괄호로 표기하며 양쪽 끝점을 포함합니다.
# 예: 닫힌 구간 [0, 5]는 0 <= x <= 5 조건으로 정의됩니다.
interval = pd.Interval(left=0, right=20, closed='both')
# 구간 출력
print("Interval...\n", interval)
# 구간 길이 출력
print("\nInterval length...\n", interval.length)
# 구간 내 요소 존재 여부 확인
# closed='both'인 경우 끝점도 포함됨을 보여줍니다.
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? = True The right-most element exists in the Interval? = True
정리
pandas.Interval()의 closed 매개변수에는 'left', 'right', 'both', 'neither' 네 가지 값을 사용할 수 있습니다. 그중 'both'를 지정하면 왼쪽 끝점과 오른쪽 끝점을 모두 포함하는 닫힌 구간이 생성되며, in 연산자를 통해 끝점 값도 구간에 포함되어 있음(True)을 확인할 수 있습니다. 또한 length 속성을 사용하면 구간의 길이도 간편하게 구할 수 있습니다.