-
[2월 1주차-2/7(4)]🍗 Python으로 치킨 브랜드 데이터 분석 & 시각화! 📊Why Not SW CAMP 5기/수업 기록 2025. 2. 7. 17:50
안녕하세요! 이번에는 Pandas와 Matplotlib을 활용하여 치킨 브랜드 데이터를 분석하고 시각화하는 방법을 소개합니다. 🐔🍗
📌 Step 1. 데이터 불러오기
우선, Pandas를 활용하여 데이터를 불러옵니다.
CSV 파일에서 데이터를 읽을 때, 특정 열을 **인덱스(index)**로 지정할 수 있습니다.import pandas as pd # CSV 파일 불러오기 (brand를 인덱스로 지정) csv_file = './data/allStoreModified.csv' myframe = pd.read_csv(csv_file, index_col=0, encoding='utf-8') # 데이터 확인 print(myframe.head())📌 index_col=0 : 첫 번째 열을 인덱스로 지정하여 데이터프레임을 로드합니다.
📌 Step 2. 브랜드별 데이터 확인 & 결측치 확인
# 브랜드 이름 확인 print(myframe['brand'].unique())출력 결과:
array(['cheogajip', 'goobne', 'nene', 'pelicana'], dtype=object)현재 **4개의 브랜드('cheogajip', 'goobne', 'nene', 'pelicana')**가 존재합니다.
데이터에 **결측치(NaN)**는 없는 것으로 보이네요!
📌 Step 3. 브랜드 이름 한글 변환
데이터에는 영어 브랜드명이 들어있습니다.
이를 한눈에 보기 쉽게 한글 브랜드명으로 변경해보겠습니다.# 브랜드명 딕셔너리 생성 brand_dict = {'cheogajip': '처가집', 'goobne': '굽네', 'kyochon': '교촌', 'pelicana': '페리카나', 'nene': '네네'}
📌 Step 4. 브랜드별 매장 수 분석
Pandas의 groupby() 함수를 이용하여 브랜드별 매장 수를 계산합니다.
# 브랜드별 매장 개수 계산 mygrouping = myframe.groupby(['brand'])['brand'] chartData = mygrouping.count() # 출력 결과 print(chartData)출력 결과:
brand cheogajip 1204 goobne 1066 nene 1125 pelicana 1098 Name: brand, dtype: int64브랜드별 매장 수 정리:
- 처가집 (cheogajip) : 1,204개
- 굽네 (goobne) : 1,066개
- 네네 (nene) : 1,125개
- 페리카나 (pelicana) : 1,098개
📌 Step 5. 한글 브랜드명 적용
영어 브랜드명을 한글 브랜드명으로 변경해줍니다.
# 한글 브랜드명으로 인덱스 변경 newindex = [brand_dict[idx] for idx in chartData.index] chartData.index = newindex # 변경된 데이터 확인 print(chartData)출력 결과:
처가집 1204 굽네 1066 네네 1125 페리카나 1098 Name: brand, dtype: int64이제 훨씬 직관적인 데이터가 되었죠? 😊
📌 Step 6. 파이 차트 시각화 🎨
Matplotlib을 활용하여 브랜드별 매장 비율을 파이 차트로 시각화해보겠습니다!

import matplotlib.pyplot as plt # 한글 폰트 설정 (Windows: 'Malgun Gothic', Mac: 'AppleGothic') plt.rcParams['font.family'] = 'Malgun Gothic' # 색상 지정 mycolor = ['r', 'g', 'b', 'm'] # 파이 차트 그리기 plt.figure() chartData.plot(kind='pie', legend=False, # 범례 제거 autopct='%1.2f%%', # 비율 표시 colors=mycolor) # 색상 설정📌 설정 설명:
✅ legend=False → 범례(legend) 숨기기
✅ autopct='%1.2f%%' → 퍼센트(%) 표시 (소수점 2자리까지)
✅ colors=mycolor → 각 브랜드별 색상 설정
📌 Step 7. 차트 저장 & 출력 📁
# 차트 이미지 저장 filename = 'Chicken.png' plt.savefig(filename, dpi=400, bbox_inches='tight') print(f'{filename} 파일이 내 파일 속에 저-장-!') # 차트 출력 plt.show()📌 plt.savefig() : 차트를 이미지 파일로 저장
📌 dpi=400 : 해상도 설정 (400 DPI로 저장)
📌 bbox_inches='tight' : 여백 없이 저장
🎯 최종 결과
✅ Pandas로 데이터 분석 (CSV 불러오기 & 브랜드별 매장 수 분석)
✅ Matplotlib으로 데이터 시각화 (파이 차트로 브랜드 점유율 표현)
✅ 완성된 차트를 이미지 파일로 저장이제 브랜드별 매장 수 비율을 시각적으로 한눈에 확인할 수 있습니다! 🎉
'Why Not SW CAMP 5기 > 수업 기록' 카테고리의 다른 글
[2월 2주차-2/12(1)]이터레이터(Iterator)와 제너레이터(Generator) 쉽게 이해하기 (0) 2025.02.12 [2월 2주차-2/11] Python 기초 문법 정리 (0) 2025.02.11 [2월 1주차-2/7(3)]🐼 Pandas 기초부터 활용까지! 데이터 분석의 시작 📊 (0) 2025.02.07 [2월 1주차-2/7(2)]📊 상관관계 분석 및 Seaborn 활용 정리 (0) 2025.02.07 [2월 1주차-2/7(1)]🔥 NumPy 기초 정리: 다차원 배열과 연산 완벽 가이드 (0) 2025.02.07