csv 파일을 불러와서 확인
import pandas as pd
cafe=pd.read_csv('서울특별시 관악구_카페및커피숍_20221024.csv', encoding='cp949', low_memory=False)
cafe.head()
사실 여기서 인코딩 형식을 확인했을 때에는 EUC-KR이라 나왔는데 오류가 나와서 구글링해서 'cp949'로 바꾸면 해결된다 나와서 바꿨더니 해결됐다.
import chardet
name='서울특별시 관악구_카페및커피숍_20221024.csv'
with open(name, 'rb') as f:
re=chardet.detect(f.readline())
print(re['encoding'])
Nan인 열을 없애기, 현재 운영하는 카페를 확인하고 싶기 때문에 '영업상태명'인 '폐업인' 행 없애기
cafe1=cafe.drop('소재지도로명주소', axis=1)
cafe2=cafe1[cafe1['영업상태명']!='폐업']
cafe2.head()
브랜드 상호별로 정렬 후 groupby() 와 value_counts() 메서드를 사용하고 슬라이싱으로 수가 많은 상호를 구하는 것이 가장 베스트였지만 '스타벅스 OO점'등 이렇게 브랜드별로 점포이름이 다르게 나누어져 있어서 그걸 다 하는 것은 무리여서 인터넷 검색결과 카페브랜드 5개만을 선정하여 갯수를 구해보았다
starbucks_count = cafe2.apply(lambda row: '스타벅스' in row['사업장명'], axis=1).sum()
compose_count = cafe2.apply(lambda row: '컴포즈' in row['사업장명'], axis=1).sum()
ediya_count = cafe2.apply(lambda row: '이디야' in row['사업장명'], axis=1).sum()
mega_count = cafe2.apply(lambda row: '메가' in row['사업장명'], axis=1).sum()
twosome_count = cafe2.apply(lambda row: '투썸' in row['사업장명'], axis=1).sum()
또한 name, cnt라는 리스트에 이름과 아까 구한 관악구에 위치한 브랜드별 카페 개수를 넣고 각각 키, 밸류로 딕셔너리를 만들고 밸류기준 내림차순으로 정렬했다
from operator import itemgetter
name=['스타벅스','컴포즈커피','이디야','메가커피','투썸플레이스']
cnt=[starbucks_count, compose_count, ediya_count, mega_count, twosome_count]
brand_count=dict(zip(name,cnt))
brand_cnt=dict(reversed((sorted(brand_count.items(), key=itemgetter(1)))))
brand_cnt
for 문 범위에 아까 만들어 놓은 딕셔너리를 이용하여 label과 text를 구
import matplotlib.pyplot as plt
fig, ax=plt.subplots(figsize=(8,6))
for idx,val in brand_cnt.items():
label=idx
ax.bar(idx, val,label=label)
ax.text(idx, val+0.5, val, ha='center',fontsize=10)
ax.set_xlabel('브랜드 이름')
ax.set_ylabel('영업 중인 카페 개수')
ax.legend()
ax.set_ylim(0, 35)
ax.set_title('관악구 대표 카페 브랜드 순위')
fig.show()
사실 거의 처음 해보다 보니 아직 서툴기도 했고, 막상 여기서 얻을 수 있는 인사이트를 찾기 어려웠다(처음이다 보니 주제를 쉽게 선정해서..)
저도 데이터 분석가 취준 중인데 유용한 정보 얻고 갑니다! 부트캠프 듣다가 다른 사람들은 어떻게 공부하는지 궁금할 때 가끔 블로그 찾아보고 있는데 도움이 많이 됩네요~!
혹시 데이터 분석 취준에 도움 되실까 해서 제가 듣는 부트캠프 링크도 남겨드려요!(https://bit.ly/4b2bR8k)
전에 빅데이터 국비 듣다가 코딩만 시키길래 너무 시간 낭비라는 생각이 들어서 시작했는데, 여기서 대기업 현직자 멘토분들이랑 제가 원하는 도메인 프로젝트 하고 있어요!ㅎ
'Tae Yoon'님도 취준 힘내세요!