파이썬으로 데이터 분석하기 (2)

Stella Park·2021년 7월 1일
0

PYTHON

목록 보기
2/14
post-thumbnail

상권데이터 분석 및 bar그래프/map으로 만들어보기

전국상권데이터에서 서울특별시에 있는 치킨가게 수를 구별로 내림차순 정렬하여 바데이터로 표시하고, 지도에도 표시해보기

1. 데이터 불러오기 및 확인

import pandas as pd 
commercial = pd.read_csv('./data/commercial.csv')
commercial.tail(5) #5개만 추출해서 열 및 데이터 내용 확인

2. 가게 수를 세기 위한 데이터 고르기

commercial.groupby('상가업소번호')['상권업종소분류명'].count().sort_values(ascending=False) 

#중복된 데이터가 없는지 확인하기 위해, 상가업소별 상권업종소분류명을 소환하여 1개씩만 있는지 확인하기.
만약 1로 표시된다면 중복이 없는 것이고, 그렇다면 '상가업소번호'를 카운트해서 가게 수를 세면 됨.

3. 치킨 가게만 뽑아낼 수 있도록 분류명 찾기

category_range = set(commercial['상권업종소분류명'])
#상권업종소분류명에서 치킨과 관련된 분류명 찾기

4. 서울특별시의 각 구별로 정리해야하므로 도로명 주소 다듬고, 서울특별시만 추출

commercial[['시','구','상세주소']] = commercial['도로명주소'].str.split(' ',n=2, expand=True) 
#도로명주소를 스페이스 기준으로 2번만 쪼개서 시, 구, 상세주소라는 새로운 콜럼에 각각 추가하기

seoul_data = commercial[ commercial['시'] == '서울특별시' ] #서울특별시만 추출
seoul_data.tail(5)

5. 서울특별시만 추출된게 맞는지 확인작업 거치기

city_type = set(seoul_data['시'])
city_type, len(city_type)

6. 서울특별시 데이터에서 치킨가게만 추출하고 확인작업

seoul_chicken_data = seoul_data[seoul_data['상권업종소분류명'] == '후라이드/양념치킨'] 
#3번에서 찾아낸 분류명을 사용하여 추출

set(seoul_chicken_data['상권업종소분류명']) #확인작업

7. 구별로 서울특별시에 있는 치킨가게 수 정렬하기

chicken_count_gu = seoul_chicken_data.groupby('구')['상권업종소분류명'].count().sort_values(ascending=False)
chicken_count_gu

8. 바데이터 뽑아보기

import matplotlib.pyplot as plt
plt.rcParams['font.family']="Malgun Gothic"
plt.figure(figsize = (10,5))
plt.bar(chicken_count_gu.index, chicken_count_gu)
plt.title('구에 따른 치킨가게 수의 합계 (서울특별시 한정)')
plt.xticks(rotation=50)
plt.show()

9. 지도 위에 그려보기

conda install -c conda-forge folium #folium 설치 (없는 경우만)
import folium
import json
seoul_state_geo = './data/seoul_geo.json' 
geo_data = json.load(open(seoul_state_geo, encoding='utf-8'))
geo_data #지도 데이터 확인

map = folium.Map(location=[37.5502,126.982], zoom_start=11) #맵 불러오기

folium.Choropleth(geo_data=geo_data, 
                  data=chicken_count_gu,
                 colums=[chicken_count_gu.index, chicken_count_gu],
                 fill_color='PuRd',
                  key_on='properties.name').add_to(map)
map
#앞에서 추출한 치킨데이터와 지도 데이터를 구이름으로 연결시킨 후 맵 불러오기

솔직히 좀 어려운 부분도 있었지만, 복습 열심히해서 내꺼 만들어야지!!!
#스파르타코딩클럽

profile
코딩 0살

0개의 댓글

관련 채용 정보