[파이썬] pandas에서 레벨 기반 인덱싱

pandas는 파이썬에서 데이터 분석을 위한 빠르고 유연한 도구로 널리 사용됩니다. 이번 글에서는 pandas에서 레벨 기반 인덱싱이라는 기능에 대해 살펴보겠습니다.

레벨 기반 인덱싱은 pandas에서 계층적 인덱스(hierarchical index)를 가진 데이터프레임(DataFrame)이나 시리즈(Series)에 접근하는 방법 중 하나입니다. 계층적 인덱스는 행과 열의 다차원적인 구조로 데이터를 조직화할 수 있게 해줍니다.

다음은 레벨 기반 인덱싱을 사용하는 방법을 예시로 보여줍니다.

계층적 인덱스 생성

import pandas as pd

# 다차원 배열을 기반으로 데이터프레임 생성
data = {'A': [1, 2, 3, 4],
        'B': [5, 6, 7, 8],
        'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)

# 계층적 인덱스 생성
df.columns = pd.MultiIndex.from_tuples([('Group 1', 'A'), ('Group 1', 'B'), ('Group 2', 'C')])

위의 코드에서는 ‘Group 1’ 및 ‘Group 2’라는 두 개의 레벨을 가지는 다차원 인덱스를 생성하고 있습니다.

레벨 기반 인덱싱

# 첫 번째 레벨 기반 인덱싱
df['Group 1']

# 두 번째 레벨 기반 인덱싱
df['Group 1']['A']

# 다중 레벨 기반 인덱싱
df.loc[:, ('Group 1', 'A')]

# 특정 조건에 맞는 값 확인
df[df['Group 2']['C'] > 10]

위의 코드에서는 레벨 기반 인덱싱을 사용하여 데이터프레임의 특정 레벨에 접근하고, 조건에 따라 값을 확인하는 방법을 보여줍니다.

레벨 기반 인덱싱은 데이터프레임이나 시리즈를 다룰 때 계층적 구조를 갖는 데이터를 잘 다룰 수 있게 해줍니다. 이를 통해 데이터의 특정 부분에 접근하거나 조건에 맞는 값들을 필터링할 수 있습니다.

pandas 라이브러리의 레벨 기반 인덱싱은 데이터 분석 및 조작을 위한 강력한 도구입니다. 다차원 구조의 데이터를 다룰 때 유용하게 사용할 수 있습니다. 이 글을 통해 pandas의 레벨 기반 인덱싱에 대해 좀 더 이해할 수 있기를 바랍니다.