[파이썬] pandas에서 MultiIndex 생성 및 조작

pandas는 파이썬에서 데이터 분석 및 조작을 위한 강력한 도구입니다. 이 중에서 MultiIndex는 데이터를 계층적으로 구조화할 수 있는 방법으로, 다차원 데이터를 처리할 때 매우 유용합니다.

이번 블로그 게시물에서는 pandas에서 MultiIndex를 생성하고 조작하는 방법을 소개하겠습니다.

MultiIndex 생성하기

MultiIndex는 다중 인덱스를 가진 데이터프레임을 생성할 때 사용됩니다. 여러 열에 대해 다중 레벨의 인덱스를 가진 데이터를 만들어보겠습니다.

import pandas as pd

data = {
    'Category': ['Electronics', 'Electronics', 'Books', 'Books', 'Sports', 'Sports'],
    'Product': ['TV', 'Smartphone', 'Python Cookbook', 'Deep Learning', 'Football', 'Basketball'],
    'Price': [1000, 800, 30, 50, 20, 25],
    'Quantity': [10, 20, 5, 3, 15, 10]
}

df = pd.DataFrame(data)
df.set_index(['Category', 'Product'], inplace=True)

print(df)

위의 코드는 ‘Category’와 ‘Product’를 MultiIndex로 설정한 데이터프레임을 생성하는 예시입니다.

MultiIndex 조작하기

MultiIndex를 사용하면 인덱스를 기준으로 데이터를 필터링하거나 그룹화 할 수 있습니다.

인덱스 필터링하기

# Electronics 카테고리만 필터링
electronics_df = df.loc['Electronics']
print(electronics_df)

# Electronics 카테고리와 관련된 상품만 필터링
smartphone_df = df.loc[('Electronics', 'Smartphone')]
print(smartphone_df)

인덱스 그룹화하기

# Category별로 그룹화하여 Quantity의 합 구하기
grouped_df = df.groupby('Category').sum()
print(grouped_df)

위의 코드는 Category를 기준으로 그룹화해서 Quantity 값을 합산하는 예시입니다.

결론

pandas를 사용하여 MultiIndex를 생성하고 조작하는 방법에 대해 알아보았습니다. MultiIndex를 활용하면 다중 레벨의 인덱스를 가진 데이터를 효과적으로 다룰 수 있습니다. 이를 통해 데이터 분석 및 조작 작업을 더욱 효율적으로 수행할 수 있습니다.