피벗 테이블은 데이터를 요약하고 분석하는 데 사용되는 강력한 도구입니다. 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()
함수는 다음과 같은 매개변수를 사용합니다.
index
: 행으로 사용할 열의 이름을 지정합니다.columns
: 열로 사용할 열의 이름을 지정합니다.values
: 데이터로 사용할 열의 이름을 지정합니다.aggfunc
: 데이터를 요약할 때 사용할 집계 함수를 지정합니다. 기본값은 평균입니다.
위 코드를 실행하면 다음과 같은 피벗 테이블이 생성됩니다.
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()
함수를 사용하여 피벗 테이블을 생성하는 방법에 대해 알아보았습니다. 추가적인 기능인 집계 함수 지정, 결측값 대체, 다중 인덱스 생성 등을 활용하여 보다 유연하고 다양한 분석 결과를 얻을 수 있습니다.