Pandas의 IntervalIndex에서 특정 레이블(값)에 해당하는 정수 위치(integer location)를 얻으려면 get_loc() 메서드를 사용하면 됩니다. 이 메서드는 주어진 값이 속한 구간의 인덱스 위치를 반환합니다.
1. 필요한 라이브러리 임포트
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
2. Interval 객체 생성
두 개의 Interval 객체를 생성합니다. 기본적으로 Interval은 왼쪽은 열리고 오른쪽은 닫힌 구간(left-open, right-closed)으로 만들어지며, 필요에 따라 closed 매개변수로 닫힘 방식을 지정할 수 있습니다.
interval1 = pd.Interval(50, 75) interval2 = pd.Interval(75, 90)
3. IntervalIndex 생성
생성한 두 구간을 이용해 IntervalIndex를 만듭니다.
index = pd.IntervalIndex([interval1, interval2])
4. get_loc()으로 정수 위치 확인
요청된 레이블의 정수 위치를 출력해 보겠습니다. 값 75는 두 번째 구간인 (75, 90]에 포함되므로 해당 구간의 위치가 반환됩니다.
print("\nInteger location for requested label...\n", index.get_loc(75))전체 예제 코드
import pandas as pd
# 두 개의 Interval 객체 생성
# closed 매개변수를 사용해 닫힌 구간 설정 가능
interval1 = pd.Interval(50, 75)
interval2 = pd.Interval(75, 90)
# 구간 출력
print("Interval1...\n", interval1)
print("Interval2...\n", interval2)
# 두 구간으로 IntervalIndex 생성
index = pd.IntervalIndex([interval1, interval2])
# 요청된 레이블의 정수 위치 가져오기
print("\nInteger location for requested label...\n", index.get_loc(75))실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Interval1... (50, 75] Interval2... (75, 90] Integer location for requested label... 0
정리
get_loc() 메서드는 IntervalIndex에서 특정 값이 어느 구간에 속하는지 찾을 때 유용합니다. 반환되는 값은 단일 정수 위치일 수도 있고, 값이 여러 구간에 걸쳐 있거나 슬라이스 조건인 경우 슬라이스 객체나 불리언 배열로 반환될 수 있다는 점도 참고하면 좋습니다.