[파이썬] pandas에서 피벗 테이블 생성

피벗 테이블은 데이터를 요약하고 분석하는 데 사용되는 강력한 도구입니다. pandas 라이브러리는 피벗 테이블 생성을 위해 유용한 함수와 기능을 제공합니다. 이 블로그 포스트에서는 pandas를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보겠습니다.

데이터 준비

먼저, 피벗 테이블을 생성하기 위해 적절한 데이터를 준비해야 합니다. 예를 들어, 다음과 같은 sales 데이터프레임이 있다고 가정해보겠습니다.

import pandas as pd

data = {
    '지역': ['서울', '서울', '서울', '서울', '경기', '경기', '경기', '경기'],
    '제품': ['TV', '냉장고', '세탁기', '에어컨', 'TV', '냉장고', '세탁기', '에어컨'],
    '매출': [1000, 1500, 800, 1200, 900, 1300, 700, 1100]
}

sales = pd.DataFrame(data)

위 데이터프레임은 지역, 제품, 매출을 나타내는 열을 포함하고 있습니다.

피벗 테이블 생성

이제 pandas를 사용하여 피벗 테이블을 생성해보겠습니다. pivot_table() 함수를 사용하면 간단하게 피벗 테이블을 생성할 수 있습니다. 다음은 예시 코드입니다.

pivot_table = sales.pivot_table(index='지역', columns='제품', values='매출', aggfunc='sum')
print(pivot_table)

위 코드에서 pivot_table() 함수는 다음과 같은 매개변수를 사용합니다.

위 코드를 실행하면 다음과 같은 피벗 테이블이 생성됩니다.

      TV  냉장고  세탁기  에어컨
지역                           
경기  900  1300  700  1100
서울  1000  1500  800  1200

추가적인 기능

피벗 테이블을 생성할 때 pivot_table() 함수의 다양한 추가 매개변수를 사용하여 피벗 테이블을 더욱 유연하게 조정할 수 있습니다. 몇 가지의 기능 예시를 살펴보겠습니다.

집계 함수 지정하기

기본적으로 pivot_table() 함수는 데이터를 평균으로 요약합니다. 하지만 aggfunc 매개변수를 사용하여 다른 집계 함수를 지정할 수 있습니다. 예를 들어, sum, count, min, max와 같은 다양한 집계 함수를 사용할 수 있습니다.

결측값 대체하기

pivot_table() 함수의 fill_value 매개변수를 사용하여 결측값을 특정 값으로 대체할 수 있습니다. 예를 들어, 결측값을 0으로 대체하고 싶다면 다음과 같이 사용할 수 있습니다.

pivot_table = sales.pivot_table(index='지역', columns='제품', values='매출', aggfunc='sum', fill_value=0)

다중 인덱스

pivot_table() 함수의 index 매개변수에 여러 개의 열 이름을 리스트로 지정하여 다중 인덱스를 생성할 수 있습니다. 이를 통해 피벗 테이블을 여러 수준으로 분류할 수 있습니다.

마무리

pandas는 데이터 분석과 요약에 효과적인 피벗 테이블 생성 기능을 제공합니다. 이 블로그 포스트에서는 pandas의 pivot_table() 함수를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보았습니다. 추가적인 기능인 집계 함수 지정, 결측값 대체, 다중 인덱스 생성 등을 활용하여 보다 유연하고 다양한 분석 결과를 얻을 수 있습니다.