월별 매출 데이터 분석 후 이메일로 보고서 발송하기
회사에서 매달 고객별 매출 보고서를 작성해 이메일로 발송하는 일이 많습니다.
고객마다 다른 데이터를 처리하다 보면 수작업으로는 시간이 많이 걸리고, 실수의 위험도 큽니다.
이러한 반복 작업을 자동화하면 시간을 절약할 뿐만 아니라 효율적으로 업무를 처리할 수 있습니다.
이번 시간에는 엑셀 파일에 저장된 고객별 매출 데이터
를 파이썬으로 분석하고, 맞춤형 보고서
를 이메일로 발송하는 방법을 배워보겠습니다.
데이터 예시
우리가 사용할 데이터는 다음과 같은 형식의 .xlsx
엑셀 파일에 저장되어 있습니다.
이 데이터에는 고객의 ID, 이름, 매출 금액, 매출일 등이 포함됩니다.
고객 ID | 고객 이름 | 매출 금액 | 매출일 |
---|---|---|---|
101 | 홍길동 | 500000 | 2024-01-15 |
102 | 김영희 | 300000 | 2024-01-22 |
101 | 홍길동 | 250000 | 2024-02-10 |
101 | 홍길동 | 300000 | 2024-02-18 |
103 | 이철수 | 400000 | 2024-02-14 |
102 | 김영희 | 150000 | 2024-03-05 |
102 | 김영희 | 50000 | 2024-03-08 |
101 | 홍길동 | 100000 | 2024-03-18 |
이 데이터를 이용해 각 고객의 월별 매출 데이터를 분석하고, 이메일 보고서를 작성할 것입니다.
먼저 고객별 매출 총계
를 Pandas 라이브러리로 계산해보겠습니다.
코드 설명
실습 과제 코드는 Pandas 라이브러리를 사용하여 Excel 파일에서 데이터를 불러오고, 특정 열을 기준으로 그룹화하여 고객별 매출 금액을 합산합니다.
지금부터 코드를 한 단계씩 살펴보겠습니다.
1. Excel 파일 불러오기
Pandas의 read_excel
함수로 Excel 파일을 불러올 수 있습니다.
file_path = 'input_file.xlsx' df = pd.read_excel(file_path, sheet_name='Sheet1')
-
file_path
는 불러올 Excel 파일의 경로입니다. -
pd.read_excel
함수는 해당 파일을 읽어와 데이터를df
라는 데이터프레임에 저장합니다. -
sheet_name='Sheet1'
는 Excel 파일의 특정 시트(Sheet1)를 지정하여 그 데이터를 불러옵니다.
2. 고객 ID와 고객 이름으로 그룹화하기
grouped = df.groupby(['고객 ID', '고객 이름'])
groupby
함수는 지정한 열(고객 ID
, 고객 이름
)을 기준으로 데이터를 그룹화합니다.
동일한 고객 ID와 고객 이름을 가진 행들이 하나의 그룹으로 묶입니다.
3. 매출 금액 데이터 선택하기
sales_data = grouped['매출 금액']
그룹화된 데이터에서 '매출 금액'이라는 열만 선택합니다.
이 열에 있는 값들이 각 그룹별로 처리될 것입니다.
4. 각 그룹의 매출 금액 합산하기
total_sales = sales_data.sum()
sum()
함수는 각 그룹의 매출 금액을 모두 더해, 고객별로 매출 금액의 합계를 계산합니다.
5. 데이터프레임으로 변환하고 인덱스 재설정하기
customer_sales = total_sales.reset_index()
reset_index()
함수는 그룹화된 결과를 다시 일반적인 데이터프레임 형식으로 변환합니다.
이 과정에서 데이터프레임의 인덱스가 0부터 시작되어 행 번호가 새로 부여됩니다.
6. 열 이름 변경하기
customer_sales.columns = ['고객 ID', '고객 이름', '총 매출 금액']
데이터프레임의 열 이름을 변경하여 고객 ID
, 고객 이름
, 총 매출 금액
으로 명확하게 표시합니다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과
결과물
문서가 비어 있습니다.
코드를 실행해보세요.