본문 바로가기
파이썬

판다스 피벗 테이블: 교차 탭 방식으로 데이터 요약하기

by 마이케이 2024. 11. 7.
반응형

판다스 피벗 테이블
판다스 피벗 테이블

파이썬 판다스 피벗 테이블 마스터하기: 교차 탭 방식으로 데이터 요약 및 분석

데이터 과학 분야에서 데이터 요약 및 분석은 필수적인 과정입니다. 이러한 과정에서 판다스 피벗 테이블은 강력한 도구로 자리매김했습니다. 파이썬 판다스 라이브러리의 피벗 테이블 기능은 복잡한 데이터를 명확하고 간결하게 요약하여 통찰력 있는 분석을 가능하게 합니다.


1, 피벗 테이블 개요: 데이터 요약의 핵심

피벗 테이블은 데이터를 행, 열, 그리고 값에 따라 요약하는 강력한 방법입니다. 마치 엑셀의 피벗 테이블처럼 데이터를 다양한 각도에서 분석하고 요약하여 그룹별 추세, 총계, 평균 등을 파악하는 데 유용합니다. 가장 큰 장점은 복잡한 데이터를 쉽게 이해할 수 있도록 시각적으로 표현할 수 있다는 것입니다.

피벗 테이블의 핵심 요소:

  • 행 인덱스 (Index): 행을 기준으로 데이터를 그룹화합니다.
  • 열 인덱스 (Columns): 열을 기준으로 데이터를 그룹화합니다.
  • 값 (Values): 각 그룹의 요약 값 (총계, 평균 등)을 나타냅니다.
  • 집계 함수 (Aggregation Function): 값을 요약하는 방법을 정의합니다 (예: sum, mean, count).


2, 파이썬 판다스를 이용한 피벗 테이블 생성 및 활용

파이썬 판다스 라이브러리는 피벗 테이블을 생성하고 활용하는 데 강력한 기능을 제공합니다.

기본적인 피벗 테이블 생성 방법:

python import pandas as pd

data = {'판매월': ['1월', '1월', '2월', '2월', '3월', '3월'], '상품': ['A', 'B', 'A', 'B', 'A', 'B'], '판매량': [10, 15, 12, 18, 14, 20]}

df = pd.DataFrame(data)

pivottable = df.pivottable(values='판매량', index='판매월', columns='상품')

print(pivot_table)

위 코드는 판매월, 상품, 판매량 컬럼을 가진 데이터 프레임을 만들고 pivot_table() 함수를 이용하여 피벗 테이블을 생성합니다.

다양한 집계 함수 적용하기:

  • sum(): 각 그룹의 합계를 계산
  • mean(): 각 그룹의 평균을 계산
  • count(): 각 그룹의 개수를 계산
  • max(): 각 그룹의 최대 값을 계산
  • min(): 각 그룹의 최소 값을 계산
  • std(): 각 그룹의 표준 편차를 계산

예시:

python pivottable = df.pivottable(values='판매량', index='판매월', columns='상품', aggfunc='sum') # 각 그룹의 합계 계산


3, 피벗 테이블의 활용: 데이터 분석 및 시각화

3.
1, 데이터 요약 및 분석:

피벗 테이블은 데이터를 다양한 각도에서 분석하고 요약하는 데 사용할 수 있습니다. 예를 들어, 판매 데이터에 대한 피벗 테이블을 통해 다음과 같은 질문에 답할 수 있습니다.

  • 각 제품의 월별 판매량은 얼마인가?
  • 특정 고객의 연령대별 구매 패턴은 어떠한가?
  • 지역별 판매량의 추세는 어떠한가?

3.
2, 시각화:

판다스 피벗 테이블은 matplotlib, seaborn 등의 시각화 라이브러리를 활용하여 다양한 차트로 데이터를 쉽게 시각화할 수 있습니다.

예시:

python import matplotlib.pyplot as plt

pivottable = df.pivottable(values='판매량', index='판매월', columns='상품', aggfunc='mean') # 각 그룹의 평균 계산

pivot_table.plot(kind='bar') plt.show()

이 코드는 월별 상품별 평균 판매량을 막대 그래프로 시각화합니다.


4, 다양한 피벗 테이블 기능: 추가 설정 및 활용

피벗 테이블은 기본적인 기능 외에도 다양한 추가 설정 및 활용 방법을 제공합니다.

4.
1, 다중 인덱싱:

pd.pivot_table() 함수의 indexcolumns 매개변수에 리스트를 입력하여 다중 인덱스 피벗 테이블을 생성할 수 있습니다.

예시:

python pivottable = df.pivottable(values='판매량', index=['판매월', '상품'], aggfunc='sum')

4.
2, margins:

margins 옵션을 사용하여 합계 열 또는 행을 추가할 수 있습니다.

예시:

python import pandas as pd

data = {'판매월': ['1월', '1월', '2월', '2월', '3월', '3월'], '상품': ['A', 'B', 'A', 'B', 'A', 'B'], '판매량': [10, 15, 12, 18, 14, 20]}

df = pd.DataFrame(data)

pivottable = df.pivottable(values='판매량', index='판매월', columns='상품', margins=True) # margins 옵션 추가

print(pivot_table)

4.
3, fill_value:

fill_value 옵션을 사용하여 결측값을 채울 수 있습니다.

예시:

python pivottable = df.pivottable(values='판매량', index='판매월', columns='상품', fillvalue=0) # fillvalue 옵션 추가


5, 결론: 데이터 분석의 효율성을 높이는 강력한 도구

판다스 피벗 테이블은 복잡한 데이터를 요약하고 분석하는 데 매우 유용한 도구입니다. 행, 열, 값 그리고 집계 함수를 활용하여 원하는 데이터를 효과적으로 요약하고, 다양한 기능을 통해 추가적인 분석 및 시각화를 수행할 수 있습니다. 데이터 분석의 효율성을 높이고 싶다면 판다스 피벗 테이블을 적극 활용해 보세요!

반응형