주어진 레이블에 해당하는 왼쪽 슬라이스 경계(left slice bound)를 계산하려면 index.get_slice_bound() 메서드를 사용합니다. 이때 side 매개변수를 'left'로 설정하면 해당 레이블의 왼쪽 슬라이스 경계 위치가 반환됩니다.
이 메서드는 슬라이싱 작업 시 특정 레이블이 인덱스에서 어느 위치에 해당하는지 정수형 위치값으로 알려주기 때문에, 레이블 기반 슬라이싱(label-based slicing)의 내부 동작을 이해하거나 직접 구현할 때 유용하게 활용됩니다.
1단계: 라이브러리 가져오기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2단계: Pandas 인덱스 생성하기
정수 값들로 구성된 Pandas 인덱스를 생성합니다.
index = pd.Index([10, 20, 30, 40, 50, 60, 70])
3단계: 인덱스 출력하기
생성된 Pandas 인덱스를 화면에 출력합니다.
print("Pandas Index...\n",index)4단계: 왼쪽 슬라이스 경계 구하기
get_slice_bound() 메서드에 레이블 값(여기서는 30)을 전달하고, side 매개변수를 'left'로 설정합니다. 이렇게 하면 주어진 레이블의 왼쪽 슬라이스 경계가 반환됩니다. kind 매개변수는 'getitem'으로 지정하여 일반적인 인덱싱 방식의 슬라이싱 동작을 따르도록 합니다.
print("\nGet the left slice bound...\n",index.get_slice_bound(30, side='left', kind ='getitem'))전체 예제 코드
다음은 지금까지의 내용을 모두 포함한 전체 코드입니다.
import pandas as pd
# Pandas 인덱스 생성
index = pd.Index([10, 20, 30, 40, 50, 60, 70])
# Pandas 인덱스 출력
print("Pandas Index...\n",index)
# 인덱스에 포함된 요소 개수 반환
print("\nNumber of elements in the index...\n",index.size)
# 왼쪽 슬라이스 경계 구하기
# side 매개변수가 "left"로 설정되면 주어진 레이블의 왼쪽 슬라이스 경계가 반환됨
print("\nGet the left slice bound...\n", index.get_slice_bound(30, side='left', kind ='getitem'))실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Pandas Index... Int64Index([10, 20, 30, 40, 50, 60, 70], dtype='int64') Number of elements in the index... 7 Get the left slice bound... 2
결과를 보면 레이블 값 30에 대한 왼쪽 슬라이스 경계가 2로 반환되었습니다. 이는 인덱스 [10, 20, 30, 40, 50, 60, 70]에서 값 30이 0부터 시작하는 위치 기준으로 세 번째 요소, 즉 위치 2에 있기 때문입니다. 만약 side 매개변수를 'right'로 설정하면 슬라이싱 시 포함 범위가 달라져 다른 경계값이 반환될 수 있습니다.