파이썬을 엑셀처럼 사용하기 시리즈
(2) 데이터 열기 pandas read_excel()
(3) 데이터 정렬하기 pandas sort_values()
(4) 데이터 필터링하기, 비교 연산자 pandas filtering
(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