CodeGym /행동 /Python SELF KO /pandas 메소드를 사용한 보고서 데이터 준비

pandas 메소드를 사용한 보고서 데이터 준비

Python SELF KO
레벨 28 , 레슨 3
사용 가능

1. 보고서를 위한 데이터 구조화

보고서를 작성할 때, 단순히 데이터를 보기 좋게 포장하는 것만으로는 충분하지 않아. 내용을 명확하고 쉽게 전달해야 돼. 데이터 준비는 보고서가 얼마나 쉽게 이해되고 빠르게 받아들여지는지에 직접적인 영향을 미쳐.

피벗 테이블: 보고서의 만능 도구

피벗 테이블은 데이터를 요약하고, 집계하고, 표현하는 데 있어서 강력한 도구야. Excel에서 데이터 분석에 자주 사용되지. pandas에서는 pivot_table 메소드를 사용해서 쉽게 피벗 테이블을 생성할 수 있어. 간단한 예제를 보자.

가게의 판매 데이터를 가지고 있다고 가정해 보자:

Python

import pandas as pd

data = {
    '제품': ['오렌지', '사과', '바나나', '오렌지', '바나나', '사과'],
    '월': ['1월', '1월', '1월', '2월', '2월', '2월'],
    '판매': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

각 제품의 월별 총 판매액을 보여주는 피벗 테이블을 생성하려면 pivot_table을 사용해.

Python

pivot_df = df.pivot_table(values='판매', index='제품', columns='월', aggfunc='sum')
print(pivot_df)

이 간단한 예제는 어떻게 카테고리와 날짜별로 데이터를 빠르게 집계할 수 있는지 보여줘 — 보고서를 작성하는 데 완벽한 기초야.

2. pandas 메소드를 사용한 데이터 준비

pivot_table 메소드

pivot_table 메소드는 매우 유연하고 데이터를 요약하는 것뿐만 아니라 mean, count 같은 다른 집계 함수를 적용할 수도 있어. 판매의 평균값을 표시하도록 데이터를 변환하는 방법을 살펴보자:

Python

pivot_mean_df = df.pivot_table(values='판매', index='제품', columns='월', aggfunc='mean')
print(pivot_mean_df)

crosstab 메소드

pandas의 crosstab 메소드는 피벗 테이블과 유사하지만, 주로 빈도를 계산할 때 사용돼. 예를 들어, 각 제품이 다양한 월에 몇 번 판매되었는지 계산해 보자:

Python

cross_df = pd.crosstab(df['제품'], df['월'])
print(cross_df)

이 메소드는 카테고리 간의 데이터 분포를 분석하거나 이벤트의 빈도를 분석할 때 유용해.

3. 다차원 인덱스를 사용한 데이터 표시 설정

다차원 인덱스

pandas는 2차원 데이터를 넘어 다차원 인덱스를 사용할 수 있게 해줘. 이건 여러 수준의 집계로 데이터를 표시하는 데 유용해. 예를 들어, 데이터셋에 "년도"를 추가하고 다차원 인덱스를 생성해 보자.

Python

data['년도'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='판매', index=['년도', '제품'], columns='월', aggfunc='sum')
print(multi_pivot_df)

이제 데이터가 연도와 제품별로 집계되어 더 유용한 정보로 변했어.

4. 실습과 분석

방금 배운 걸 실습해 보자. 과제: 판매 보고서를 위한 데이터를 준비해 보자.

다음과 같은 판매 데이터를 가지고 있다고 가정해 보자:

Python

data = {
    '제품': ['오렌지', '오렌지', '사과', '사과', '바나나', '바나나'],
    '월': ['1월', '2월', '1월', '2월', '1월', '2월'],
    '년도': [2023, 2023, 2024, 2024, 2023, 2024],
    '판매': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

각 제품의 월별 총 판매액뿐만 아니라 연도별 총액도 포함한 피벗 테이블을 생성하는 것이 네 과제야.

Python

pivot_total_df = df.pivot_table(values='판매', index=['년도', '제품'], columns='월', aggfunc='sum', margins=True, margins_name='합계')
print(pivot_total_df)

이 "합계" 행은 모든 카테고리의 합계를 보여주는데, 전체 개요를 제공하는 데 자주 필요해.

5. 데이터 표시 및 분석 전략 논의

pandas를 사용한 보고서 준비는 단순한 숫자 계산이 아니라 예술이야. 중요한 부분은 데이터를 가장 효과적으로 표현하는 방법을 선택하는 거야. 단순 요약 테이블이든 복잡한 그래프든 말이야. 실생활에서 이런 구조화는 현재의 지표를 이해할 뿐만 아니라, 논리적인 결정을 내리는 데에도 도움을 줘. 너도 지겨운 숫자들을 명확한 그림으로 바꾸는 마법사의 역할을 하게 될 거야.

자동화된 보고서 준비의 대가가 되고 싶다면, pandas의 가능성을 잊지 말고 다양한 메소드와 기술을 실험하는 걸 게을리하지 마. 이 스킬은 단순히 분석 보고서를 작성하는 데만 유용한 게 아니라, 면접이나 미래의 경력에서도 큰 도움이 될 거야. 데이터를 탐구하고 보고서를 더 알록달록하고 유익하고 쉽게 만들어봐!

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION