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

Python Pandas – set_closed()로 현재와 동일하지만 지정된 방향으로 닫힌 IntervalArray 반환하기

현재 IntervalArray와 동일하지만 지정된 방향으로 닫힌 새로운 IntervalArray를 반환하려면 set_closed() 메서드를 사용하고 매개변수에 'both'를 전달하면 됩니다.

set_closed() 메서드란?

set_closed()는 기존 구간의 경계값은 그대로 유지하면서 구간이 닫히는 쪽(left, right, both, neither)만 변경하여 새로운 IntervalArray를 생성합니다. 원본 배열은 변경되지 않으며, 항상 새로운 객체가 반환됩니다.

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

import pandas as pd

2단계: IntervalArray 생성하기

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

from_breaks()는 분할 지점(breaks) 리스트로부터 IntervalArray를 생성합니다. 위 예제에서는 0부터 5까지의 경계값을 사용해 다섯 개의 구간을 만듭니다.

3단계: IntervalArray 출력하기

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

4단계: set_closed('both') 적용하기

print("\nAn identical IntervalArray closed on the specified side...\n", array.set_closed('both'))

전체 예제 코드

import pandas as pd

# 분할 지점 배열로부터 새로운 IntervalArray 생성
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])

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

# 지정된 방향(양쪽)으로 닫힌 동일한 IntervalArray 반환
print("\nAn identical IntervalArray closed on the specified side...\n", array.set_closed('both'))

실행 결과

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

An identical IntervalArray closed on the specified side...
<IntervalArray>
[[0, 1], [1, 2], [2, 3], [3, 4], [4, 5]]
Length: 5, dtype: interval[int64, both]

결과 해석

원본 IntervalArray는 기본적으로 오른쪽이 닫힌(right) 반열린 구간 [(0, 1], (1, 2], ...]을 가집니다. set_closed('both')를 적용하면 왼쪽과 오른쪽이 모두 닫힌 폐구간 [[0, 1], [1, 2], ...]으로 변환되며, dtype도 interval[int64, both]로 변경됩니다. 이처럼 set_closed()를 활용하면 데이터의 경계 포함 여부를 손쉽게 조절할 수 있습니다.