[파이썬] pandas에서 크로스탭 (crosstab)

Pandas는 파이썬에서 데이터 분석을 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 데이터프레임을 다루고 조작하는데 매우 편리한 기능들을 제공합니다.

그 중에 하나인 크로스탭(crosstab)은 데이터프레임에서 두 개 이상의 열을 기반으로 교차표를 생성하는 기능입니다. 이를 통해 데이터의 상관관계를 파악하거나 카테고리 간의 관계를 시각화하는 데 유용합니다.

크로스탭 함수는 pd.crosstab()으로 호출할 수 있습니다. 이 함수에 두 개의 열을 전달하면 해당 열들을 기반으로 교차표를 생성합니다. 아래는 예시 코드입니다.

import pandas as pd

# Sample data
data = {'Gender': ['M', 'M', 'F', 'F', 'M'],
        'Category': ['A', 'B', 'A', 'B', 'A'],
        'Count': [10, 20, 15, 25, 5]}

df = pd.DataFrame(data)

# Crosstab
result = pd.crosstab(df['Gender'], df['Category'], values=df['Count'], aggfunc='sum')

print(result)

위의 코드는 Gender와 Category 열을 기반으로 교차표를 생성합니다. Count 열의 값을 합산하여 교차표의 값으로 사용합니다. 결과는 다음과 같이 출력됩니다.

Category  A   B
Gender        
F         15  25
M         15  20

위의 결과를 보면 GenderCategory 간의 관계를 파악할 수 있습니다. 예를 들어, Category A의 경우 남성과 여성 모두 15명이 있으며, Category B의 경우에는 남성은 20명, 여성은 25명이 있음을 알 수 있습니다.

따라서, pandas의 크로스탭(crosstab)은 데이터프레임에서 카테고리 간의 관계를 파악하는 강력한 기능으로서, 데이터 분석 작업에 유용하게 활용될 수 있습니다.