본문 바로가기

카테고리 없음

파이썬을 엑셀처럼 사용하기 (7): 피벗 테이블 만들기 pandas pivot_table()

파이썬을 엑셀처럼 사용하기 시리즈

 (1) 엑셀이 있는데 왜 파이썬을 배워야 하지?

 (2) 데이터 열기 pandas read_excel()

 (3) 데이터 정렬하기 pandas sort_values()

 (4) 데이터 필터링하기, 비교 연산자 pandas filtering

 (5) 사칙연산하기 pandas arithmetic

 (6) 데이터 합치기 pandas merge()

 (7) 피벗 테이블 만들기 pandas pivot_table()

 실습하기 위해서는 파이썬 아나콘다와 주피터 노트북이 설치되어있어야 합니다. 

  - [파이썬] 파이썬 아나콘다 설치 방법, 파이썬 설치 방법

  - [파이썬] 주피터 노트북(jupyter notebook) 사용법

✔ 실습 데이터는 제 깃헙에서 받을 수 있습니다. 데이터1, 데이터2


엑셀이 제공하는 수많은 강력한 기능 중에 빼놓을 수 없는 게 바로 피벗 테이블입니다. 피벗 테이블은 데이터를 계산, 요약 및 분석하는 매우 유용한 도구입니다. 이를 이용하면 손쉽게 데이터의 차이, 변화 및 추세 등을 확인할 수 있기 때문입니다.

 

엑셀에서 피벗 테이블 만들기

1. 분석할 표(범위)를 선택합니다.

 

2. 삽입 > 피벗 테이블을 클릭합니다.

 

3. 표/범위를 확인합니다. 피벗 테이블 보고서를 넣을 위치를 확인합니다. 

- 피벗 테이블 보고서는 새 워크시트에 추가하는 것을 추천합니다.

 

4. 확인을 클릭합니다 

 

5. 피벗 테이블 필드 선택하기

- 피벗 테이블의 작성 목적에 맞게 행과 열, 그리고 집계할 값을 필드에 추가합니다

 

6. 예제: 제품군별 월별 매출액

데이터가 깔끔하게 피벗 테이블 형태로 집계된 것을 볼 수 있습니다. 월 이름 옆에 +를 클릭하면 일자별 매출액이 나타납니다.

 

판다스에서 피벗 테이블 만들기

pd.pivot_table() 메서드를 사용해서 피벗 테이블을 만들 수 있습니다.

pd.pivot_table(data=데이터프레임의 이름, value=집계할 컬럼의 이름, index=피벗테이블의 행, columns=피벗테이블의 열, aggfunc=집계 방법)

 

1. 데이터 확인하기

import pandas as pd
sales = pd.read_excel('SupermarketSales.xlsx')
sales

 

2. 피벗 테이블 만들기

table = pd.pivot_table(sales, index='제품군', columns='날짜', values='매출액', aggfunc='sum')
table

제품군별 날짜별 매출액에 피벗 테이블로 집계된 것을 볼 수 있습니다. 다만 날짜별로 집계가 되어서 테이블이 가로로 너무 길어졌습니다. 조금 더 깔끔하게 월별 집계를 해보겠습니다.

 

3. 월별 집계하기

- 매개변수 columns에 날짜가 아닌 월을 전달하기 위해서는 월 컬럼이 필요합니다.

sales['월'] = sales['날짜'].dt.strftime('%m')
sales

 

- 월 컬럼을 이용해서 피벗 테이블을 새로 만들어보겠습니다.

table = pd.pivot_table(sales, index='제품군', columns='월', values='매출액', aggfunc='sum')
table