파이썬(Python)의 판다스(Pandas) 시리즈(Series) 데이터 구조에서 상위 'n'개 요소를 추출할 때는 슬라이싱(slicing) 연산자인 ':'(콜론)을 활용합니다. 슬라이싱은 시리즈의 요소들에 범위를 지정하여, 이후 원하는 부분만 화면에 출력할 수 있도록 도와주는 기능입니다.
그럼 실제 예제를 통해 살펴보겠습니다.
예제
import pandas as pd
my_data = [34, 56, 78, 90, 123, 45]
my_index = ['ab', 'mn' ,'gh','kl', 'wq', 'az']
my_series = pd.Series(my_data, index = my_index)
print("The series contains following elements")
print(my_series)
n = 3
print("Top 3 elements are :")
print(my_series[:n])출력 결과
The series contains following elements ab 34 mn 56 gh 78 kl 90 wq 123 az 45 dtype: int64 Top 3 elements are : ab 34 mn 56 gh 78 dtype: int64
코드 설명
필요한 라이브러리를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.
데이터 값들의 리스트를 생성한 후, 이를 pandas 라이브러리의 'Series' 함수에 매개변수로 전달합니다.
다음으로, 사용자 지정 인덱스 값들을 별도의 리스트에 저장해 두었다가 매개변수로 전달합니다.
파이썬에서는 인덱싱 연산자 ':'를 사용하면 시리즈에서 특정 범위의 값에 손쉽게 접근할 수 있습니다.
':' 연산자는 하한값과 상한값 사이에 [하한 : 상한] 형태로 작성하여 사용합니다.
이때 결과에는 하한값은 포함되지만, 상한값은 제외됩니다.
하한값이 지정되지 않으면 기본적으로 0으로 간주됩니다.
상한값이 지정되지 않으면 len(데이터 구조)-1로 간주됩니다.
본 예제에서는 my_series[:3]과 같이 작성했으므로, 하한은 0, 상한은 3을 의미합니다.
따라서 인덱스 위치 0부터 2까지, 즉 처음 세 개의 요소가 추출되어 콘솔에 출력됩니다.
참고 사항
슬라이싱 시 주의할 점은 숫자 인덱스 대신 문자열 인덱스('ab', 'mn' 등)를 사용하는 경우에도 위치 기반 슬라이싱이 적용된다는 것입니다. 만약 레이블(label) 기준으로 직접 접근하고 싶다면 loc 속성을, 위치 기반으로 접근하고 싶다면 iloc 속성을 사용하는 것이 좋습니다. 이를 활용하면 더욱 명확하고 안전하게 시리즈의 특정 요소들을 다룰 수 있습니다.