파이썬 실무 - 각 지점의 월별 최고 매출액 필터링
2024. 11. 8. 15:03ㆍ1. Data Analyst/1-1. Python
728x90
반응형
파이썬 실무 - 각 지점의 월별 최고 매출액 필터링
안녕하세요! 오늘은 파이썬을 사용하여 각 지점의 최고 매출액을 구하는 방법에 대해 알아보겠습니다. 예제와 함께 실무에서 유용한 분석을 어떻게 할 수 있는지 살펴보겠습니다.
문제 설정
우리가 가지고 있는 데이터프레임 df는 매출 데이터가 포함된 테이블입니다. 이 데이터는 매출이 발생한 매장(Store)과 월(Month), 그리고 해당 월의 매출 합계(Sub-Total)를 포함합니다. 목표는 각 매장과 월별로 최고 매출액을 찾아내는 것입니다.
데이터 예시
우선, 예를 들어 데이터프레임 df는 다음과 같은 형태일 수 있습니다:
Store | Month | Sub-Total |
A | Jan | 500 |
A | Jan | 700 |
A | Feb | 600 |
B | Jan | 800 |
B | Feb | 750 |
B | Feb | 850 |
C | Jan | 450 |
C | Feb | 650 |
C | Feb | 700 |
이 데이터에서 각 매장과 월별로 최고 매출액을 찾아내고자 합니다.
파이썬 코드 분석
아래 코드를 통해 이 작업을 수행할 수 있습니다:
import pandas as pd
def max_subtotal(group):
# Sub-Total 열에서 최대값의 인덱스를 찾습니다
max_subtotal_idx = group['Sub-Total'].idxmax()
# 해당 인덱스를 통해 전체 행에서 최고 매출액을 가진 행을 반환합니다
return group.loc[max_subtotal_idx]
# 매장(Store)과 월(Month)별로 그룹화한 후, 각 그룹에서 max_subtotal 함수 적용
max_by_store = df.groupby(['Store', 'Month']).apply(max_subtotal)
print(max_by_store)
코드 설명
- max_subtotal 함수:
- group 파라미터는 특정 매장과 월에 해당하는 데이터의 서브셋입니다.
- group['Sub-Total'].idxmax()를 사용하여 최고 매출액의 인덱스를 찾습니다.
- group.loc[max_subtotal_idx]를 통해 해당 인덱스를 가진 행을 반환합니다.
- df.groupby(['Store', 'Month']).apply(max_subtotal):
- df 데이터프레임을 매장과 월별로 그룹화합니다.
- 각 그룹에 대해 max_subtotal 함수를 적용하여 최고 매출액을 가진 행을 찾습니다.
예제 실행 결과
위의 코드가 실행되면 다음과 같은 결과를 얻을 수 있습니다:
Store | Month | Sub-Total |
A | Jan | 700 |
A | Feb | 600 |
B | Jan | 800 |
B | Feb | 850 |
C | Jan | 450 |
C | Feb | 700 |
이 결과는 각 매장과 월별로 가장 높은 매출액을 나타냅니다.
결론
이러한 방식으로 데이터를 분석하면, 매장별 및 월별 매출 추세를 파악하고, 최고 매출액을 기준으로 더 깊이 있는 인사이트를 얻을 수 있습니다. 파이썬의 pandas 라이브러리를 활용하여 데이터 그룹화 및 집계 작업을 손쉽게 수행할 수 있으므로 실무에서 매우 유용한 도구가 될 수 있습니다.
728x90
반응형
'1. Data Analyst > 1-1. Python' 카테고리의 다른 글
고객 주문 내역 분석: 중복 제거와 최신 주문 정보 남기기 (2) | 2024.11.11 |
---|---|
[Python 실무] 그룹화 후 특정 행, 특정 열 삭제 (1) | 2024.11.10 |
Pandas의 filter() 메서드: 그룹화 후 조건으로 필터링하기 (0) | 2024.09.20 |
실무에서 유용한 Pandas 문자열 관련 메서드 10가지와 사용 예시 (0) | 2024.09.20 |
Python 실무 - 파이썬 그룹 기준으로 데이터 통일하기 (0) | 2024.08.30 |