Pandas로 월별, 제품별 매출 분석하기
여러 제품의 월별 판매량, 객단가, 매출 데이터를 빠르게 분석하려면 어떻게 해야 할까요?
데이터를 분석하다 보면 월별 및 제품별로 다양한 항목에 대한 통계를 계산해야 할 때가 있습니다.
Pandas
를 사용하면 이러한 복잡한 작업도 자동화할 수 있습니다.
이번에는 월별
, 제품별
로 객단가, 판매량, 매출 데이터를 분석하는 방법을 살펴보겠습니다.
월별, 제품별 데이터 분석이 필요할 때
예를 들어, 아래와 같이 1월부터 3월까지 A, B 제품에 대한 객단가와 판매량 데이터가 있다고 가정해보겠습니다.
import pandas as pd # 예시 데이터 생성 data = { '월': ['2023-01', '2023-01', '2023-02', '2023-02', '2023-03', '2023-03'], '제품': ['A', 'B', 'A', 'B', 'A', 'B'], '객단가': [20, 30, 22, 28, 21, 29], '판매량': [100, 150, 120, 130, 110, 140], } df = pd.DataFrame(data) # 매출 계산 df['매출'] = df['객단가'] * df['판매량'] print(df)
위 코드를 실행하면 다음과 같은 데이터프레임이 생성됩니다.
월 제품 객단가 판매량 매출 0 2023-01 A 20 100 2000 1 2023-01 B 30 150 4500 2 2023-02 A 22 120 2640 3 2023-02 B 28 130 3640 4 2023-03 A 21 110 2310 5 2023-03 B 29 140 4060
이제 이 데이터프레임을 바탕으로 제품별, 월별로 요약된 데이터를 구성해 보겠습니다.
제품별/월별 데이터 요약하기
먼저 제품별로 총 판매량과 매출을 요약해 보겠습니다.
그룹화된 데이터를 요약하려면 groupby
함수를 사용하여 월별로 데이터를 그룹화하고, agg
함수를 사용하여 각 그룹에 대한 요약 통계를 계산할 수 있습니다.
'agg' 함수는 데이터프레임의 데이터를 집계(aggregate)할 때 사용하는 함수로, agg('mean')
은 각 그룹의 평균값을 계산하고, agg('sum')
은 각 그룹의 합계를 계산합니다.
제품별 총 매출 계산
제품별 총 매출은 df.groupby('제품')
과 같이 제품
으로 그룹화해 계산할 수 있습니다.
import pandas as pd data = { '월': ['2023-01', '2023-01', '2023-02', '2023-02', '2023-03', '2023-03'], '제품': ['A', 'B', 'A', 'B', 'A', 'B'], '객단가': [20, 30, 22, 28, 21, 29], '판매량': [100, 150, 120, 130, 110, 140], } df = pd.DataFrame(data) # 매출 계산 df['매출'] = df['객단가'] * df['판매량'] # 제품별 총 매출 및 판매량 요약 result = df.groupby('제품').agg({'판매량': 'sum', '매출': 'sum'}) print(result)
이 코드를 실행하면 다음과 같은 요약 데이터가 출력됩니다.
판매량 매출 제품 A 330 6950 B 420 12200
월별 총 매출 계산
월별 총 매출은 df.groupby('월')
과 같이 월
로 그룹화해 계산할 수 있습니다.
...(생략)... # 월별 총 매출 및 판매량 요약 result = df.groupby('월').agg({'판매량': 'sum', '매출': 'sum'})
이 코드를 실행하면 다음과 같은 결과가 출력됩니다.
판매량 매출 월 2023-01 250 6500 2023-02 250 6280 2023-03 250 6370
피벗 테이블로 데이터 재구성하기
더 나아가, 데이터를 피벗 테이블로 재구성하여 특정 항목을 기준으로 데이터를 비교할 수도 있습니다. 여기서는 각 월별로 제품별 매출을 비교해보겠습니다.
# 월별, 제품별 매출 피벗 테이블 피벗_매출_테이블 = df.pivot_table(values='매출', index='월', columns='제품', aggfunc='sum', fill_value=0) print(피벗_매출_테이블)
결과는 다음과 같이 출력됩니다:
제품 A B 월 2023-01 2000 4500 2023-02 2640 3640 2023-03 2310 4060
이렇게 하면 각 월별로 제품 A와 B의 매출을 한눈에 비교할 수 있습니다.
Pandas에서 agg 함수를 사용하면 데이터를 그룹화할 수 있다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과