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

Python Pandas Series에서 인덱스 값으로 요소 접근하기 – 기본 인덱스와 사용자 정의 인덱스 활용법

Pandas의 Series는 생성 시 인덱스를 따로 지정하지 않으면 0부터 시작하는 정수형 기본 인덱스가 자동으로 부여됩니다. 이 경우 일반적인 인덱싱 방식으로 요소에 접근할 수 있습니다. 반면, 사용자 정의 인덱스를 지정했다면 문자열 등의 커스텀 인덱스 값을 그대로 사용해 요소에 접근하고 결과를 콘솔에 출력할 수 있습니다.

아래 예제를 통해 구체적으로 살펴보겠습니다.

예제 코드

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)
print("Accessing elements using customized index")
print(my_series['mn'])
print("Accessing elements using customized index")
print(my_series['az'])

출력 결과

The series contains following elements
ab  34
mn  56
gh  78
kl  90
wq  123
az  45
dtype: int64
Accessing elements using customized index
56
Accessing elements using customized index
45

코드 설명

  • 필요한 라이브러리를 임포트하고, 사용 편의성을 위해 별칭(alias)을 지정합니다.

  • 데이터 값들이 담긴 리스트를 생성하며, 이 리스트는 이후 pandas 라이브러리의 'Series' 함수에 매개변수로 전달됩니다.

  • 사용자 정의 인덱스 값들을 별도의 리스트에 저장합니다.

  • Series 객체를 생성하면서 데이터 리스트와 인덱스 리스트를 각각 매개변수로 전달합니다.

  • 생성된 시리즈를 콘솔에 출력합니다.

  • 인덱스 값이 사용자 정의되어 있으므로 series_name['index_name'] 형태로 시리즈 내부의 값에 접근할 수 있습니다.

  • 접근한 값을 콘솔에 출력합니다.

참고: loc와 iloc 활용

사용자 정의 인덱스가 있는 시리즈에서는 .loc[]를 사용하면 라벨 기반으로 명확하게 접근할 수 있고, 위치 기반 접근이 필요하다면 .iloc[]를 사용하는 것이 좋습니다. 예를 들어 my_series.loc['mn']은 라벨 'mn'에 해당하는 값 56을 반환하며, my_series.iloc[1] 역시 두 번째 위치의 값 56을 반환합니다. 이렇게 구분해서 사용하면 인덱스가 문자열이든 정수든 혼동 없이 안전하게 데이터에 접근할 수 있습니다.