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

Python Pandas – 분할 지점 배열로 IntervalArray를 생성하고 각 구간의 왼쪽 끝점 반환하기

분할 지점(breaks) 배열로부터 IntervalArray를 생성하려면 pandas.arrays.IntervalArray.from_breaks() 메서드를 사용하고, 각 구간(interval)의 왼쪽 끝점을 얻으려면 array.left 속성을 사용하면 됩니다.

필요한 라이브러리 임포트

먼저 pandas 라이브러리를 임포트합니다.

import pandas as pd

IntervalArray 생성하기

from_breaks()에 분할 지점 목록을 전달하면 인접한 두 지점이 하나의 구간을 이루는 IntervalArray가 만들어집니다. 아래 예제에서는 [0, 1, 2, 3, 4, 5]라는 여섯 개의 지점으로 다섯 개의 반열린 구간 (0, 1], (1, 2], ..., (4, 5]이 생성됩니다.

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

왼쪽 끝점 반환받기

array.left 속성은 IntervalArray에 포함된 각 구간의 왼쪽 끝점을 Index 객체 형태로 반환합니다.

print("\n각 구간의 왼쪽 끝점(Index)...\n", array.left)

전체 예제 코드

지금까지의 내용을 모두 담은 전체 코드는 다음과 같습니다.

import pandas as pd

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

# IntervalArray를 출력합니다.
print("생성된 IntervalArray...\n", array)

# IntervalArray의 길이를 구합니다.
# 각 구간의 길이를 담고 있는 Index가 반환됩니다.
print("\nIntervalArray의 길이...\n", array.length)

# 각 구간의 중간값(midpoint)을 Index로 확인합니다.
print("\n각 구간의 중간값...\n", array.mid)

# 각 구간의 왼쪽 끝점을 구합니다.
print("\n각 구간의 왼쪽 끝점(Index)...\n", array.left)

실행 결과

위 코드를 실행하면 다음과 같은 출력이 나옵니다.

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

IntervalArray의 길이...
Int64Index([1, 1, 1, 1, 1], dtype='int64')

각 구간의 중간값...
Float64Index([0.5, 1.5, 2.5, 3.5, 4.5], dtype='float64')

각 구간의 왼쪽 끝점(Index)...
Int64Index([0, 1, 2, 3, 4], dtype='int64')