Guidelines

월별 맀좜 데이터 뢄석 ν›„ μ΄λ©”μΌλ‘œ λ³΄κ³ μ„œ λ°œμ†‘ν•˜κΈ°

νšŒμ‚¬μ—μ„œ 맀달 맀좜 λ³΄κ³ μ„œλ₯Ό μž‘μ„±ν•΄ μ΄λ©”μΌλ‘œ λ°œμ†‘ν•˜λŠ” 상황!

μˆ˜λ§Žμ€ 데이터λ₯Ό μˆ˜μž‘μ—…μœΌλ‘œ μ²˜λ¦¬ν•˜λ‹€ 보면 λΆˆν•„μš”ν•˜κ²Œ λ§Žμ€ μ‹œκ°„μ΄ μ†Œμš”λ˜κ³ , μ‹€μˆ˜μ˜ μœ„ν—˜λ„ μ»€μ§‘λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 반볡 μž‘μ—…μ„ μžλ™ν™”ν•˜λ©΄ μ‹œκ°„μ„ μ ˆμ•½ν•  뿐만 μ•„λ‹ˆλΌ 업무 νš¨μœ¨μ„±λ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

이번 μ‹œκ°„μ—λŠ” μ—‘μ…€ νŒŒμΌμ— μ €μž₯된 고객별 맀좜 데이터λ₯Ό 파이썬으둜 λΆ„μ„ν•˜κ³ , λ§žμΆ€ν˜• λ³΄κ³ μ„œλ₯Ό μ΄λ©”μΌλ‘œ λ°œμ†‘ν•˜λŠ” 방법을 λ°°μ›Œλ³΄κ² μŠ΅λ‹ˆλ‹€.


과제용 데이터

κ³Όμ œμ— μ‚¬μš©ν•  λ°μ΄ν„°λŠ” μ•„λž˜μ™€ 같이 .xlsx μ—‘μ…€ νŒŒμΌμ— μ €μž₯λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

이 λ°μ΄ν„°λŠ” 고객의 ID, 이름, 맀좜 κΈˆμ•‘, 맀좜일 등을 ν¬ν•¨ν•©λ‹ˆλ‹€.

고객 ID고객 μ΄λ¦„λ§€μΆœ κΈˆμ•‘λ§€μΆœμΌ
101홍길동5000002024-01-15
102κΉ€μ˜ν¬3000002024-01-22
101홍길동2500002024-02-10
101홍길동3000002024-02-18
103이철수4000002024-02-14
102κΉ€μ˜ν¬1500002024-03-05
102κΉ€μ˜ν¬500002024-03-08
101홍길동1000002024-03-18

이와 같은 μ—‘μ…€ 데이터λ₯Ό μ΄μš©ν•΄ 각 고객의 월별 맀좜 데이터λ₯Ό λΆ„μ„ν•˜κ³ , 이메일 λ³΄κ³ μ„œλ₯Ό μž‘μ„±ν•  κ²ƒμž…λ‹ˆλ‹€.


μ‹€μŠ΅ μ½”λ“œ μ„€λͺ…

μ‹€μŠ΅ μ½”λ“œλŠ” Pandas 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—‘μ…€ νŒŒμΌμ—μ„œ 데이터λ₯Ό 뢈러였고, νŠΉμ • 열을 κΈ°μ€€μœΌλ‘œ κ·Έλ£Ήν™”ν•˜μ—¬ 고객별 맀좜 κΈˆμ•‘μ„ ν•©μ‚°ν•©λ‹ˆλ‹€.

μ§€κΈˆλΆ€ν„° μ½”λ“œλ₯Ό ν•œ 단계씩 μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.


1. μ—‘μ…€ 파일 뢈러였기

Pandas의 read_excel ν•¨μˆ˜λ‘œ Excel νŒŒμΌμ„ 뢈러올 수 μžˆμŠ΅λ‹ˆλ‹€.

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와 고객 μ΄λ¦„μœΌλ‘œ κ·Έλ£Ήν™”ν•˜κΈ°

고객 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, 고객 이름, 총 맀좜 κΈˆμ•‘μœΌλ‘œ λͺ…ν™•ν•˜κ²Œ ν‘œμ‹œν•©λ‹ˆλ‹€.


customer_sales λ°μ΄ν„°ν”„λ ˆμž„μ„ print ν•¨μˆ˜λ‘œ 좜λ ₯ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ²°κ³Όλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

고객별 맀좜 데이터 좜λ ₯ κ²°κ³Ό
고객 ID 고객 이름 총 맀좜 κΈˆμ•‘ 0 101 홍길동 1150000 1 102 κΉ€μ˜ν¬ 500000 2 103 이철수 400000

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result

Input/Result

Output

The document is empty.

Try running the code.