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

Python Pandas – IntervalArray의 구간이 왼쪽, 오른쪽, 양쪽 또는 어느 쪽도 닫혀 있지 않은지 확인하는 방법

IntervalArray에 담긴 구간(Interval)이 왼쪽, 오른쪽, 양쪽 모두, 혹은 어느 쪽도 닫혀 있지 않은지 확인하려면 array.closed 속성을 사용하면 됩니다. 이 속성은 구간의 닫힘 상태를 나타내는 값을 반환하며, 반환될 수 있는 값은 'left'(왼쪽만 닫힘), 'right'(오른쪽만 닫힘), 'both'(양쪽 모두 닫힘), 'neither'(어느 쪽도 닫히지 않음) 네 가지입니다.

라이브러리 불러오기

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

import pandas as pd

Interval 객체 생성하기

"closed" 매개변수를 "both"로 설정하여 양쪽이 닫힌 두 개의 Interval 객체를 만듭니다. 수학에서 폐구간(closed interval)은 대괄호로 표기하며 끝점을 포함합니다. 예를 들어 폐구간 [0, 5]는 0 <= x <= 5 조건을 만족하는 구간입니다.

interval1 = pd.Interval(10, 25, closed='both')
interval2 = pd.Interval(15, 70, closed='both')

생성한 구간을 출력해 확인합니다.

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

IntervalArray 생성하기

Interval 객체들을 이용해 새로운 IntervalArray를 생성합니다.

array = pd.arrays.IntervalArray([interval1, interval2])

이제 IntervalArray의 구간이 왼쪽, 오른쪽, 양쪽 또는 어느 쪽도 닫혀 있지 않은지 확인합니다.

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

전체 예제 코드

다음은 지금까지 설명한 내용을 모두 포함한 전체 코드입니다.

import pandas as pd

# 두 개의 Interval 객체 생성
# "closed" 매개변수를 "both"로 설정하여 양쪽이 닫힌 구간으로 지정
# 폐구간(수학에서 대괄호로 표기)은 끝점을 포함하며,
# 예를 들어 [0, 5]는 0 <= x <= 5 조건을 만족하는 구간입니다.
interval1 = pd.Interval(10, 25, closed='both')
interval2 = pd.Interval(15, 70, closed='both')

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

# Interval 객체들로 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray([interval1, interval2])

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

# IntervalArray의 길이 확인
# IntervalArray에 있는 각 Interval의 길이를 나타내는 Index를 반환합니다.
print("\nOur IntervalArray length...\n", array.length)

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

실행 결과

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

Interval1...
[10, 25]
Interval2...
[15, 70]

Our IntervalArray...
<IntervalArray>
[[10, 25], [15, 70]]
Length: 2, dtype: interval[int64, both]

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

Checking whether the intervals is closed...
Both