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

Python Pandas – 열린 끝점을 공유하는 두 Interval 객체의 겹침 여부 확인하기

두 Interval 객체가 열린 끝점(open endpoint)을 공유할 때 서로 겹치는지 확인하려면 overlaps() 메서드를 사용합니다.

필수 라이브러리 가져오기

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

import pandas as pd

Interval 객체의 겹침 규칙

두 구간(interval)은 닫힌 끝점(closed endpoint)을 포함하여 공통 지점을 공유할 때 겹치는 것으로 간주됩니다. 반면, 오직 열린 끝점만 공유하는 경우에는 겹치지 않는 것으로 판단합니다.

Interval 객체 생성

두 개의 Interval 객체를 생성해 보겠습니다. interval1은 양쪽이 모두 닫힌(closed) 구간이고, interval2는 양쪽이 모두 열린(open) 구간입니다.

interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')

생성된 구간을 출력합니다.

print("Interval1...\n", interval1)
print("Interval2...\n", interval2)

이제 두 Interval 객체가 겹치는지 확인합니다.

print("\nDo both the interval objects overlap?\n", interval1.overlaps(interval2))

전체 예제 코드

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

import pandas as pd

# 두 구간은 닫힌 끝점을 포함한 공통 지점을 공유할 때 겹칩니다.
# 열린 끝점만 공유하는 구간은 겹치지 않습니다.

# Interval 객체 생성
# interval1: 양쪽 모두 닫힌 구간
# interval2: 양쪽 모두 열린 구간
interval1 = pd.Interval(10, 30, closed='both')
interval2 = pd.Interval(30, 50, closed='neither')

# 구간 출력
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)

# 두 Interval 객체의 길이 출력
print("\nInterval1 object length = ", interval1.length)
print("\nInterval2 object length = ", interval2.length)

# 두 Interval 객체가 겹치는지 확인
print("\nDo both the interval objects overlap?\n", interval1.overlaps(interval2))

실행 결과

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

Interval1...
[10, 30]
Interval2...
(30, 50)
Interval1 object length = 20
Interval2 object length = 20
Do both the interval objects overlap?
False

결과 해석

실행 결과를 보면 interval1은 [10, 30]으로 양쪽 끝점인 10과 30을 모두 포함하고, interval2는 (30, 50)으로 끝점인 30과 50을 포함하지 않습니다. 두 구간은 값 30이라는 열린 끝점만 공유할 뿐 실제로 함께 가지는 점이 없기 때문에 overlaps() 메서드는 False를 반환합니다. 만약 두 구간이 닫힌 끝점을 공유했다면 True가 반환되었을 것입니다.