반응형
[Seoul Store] 내맘대로 하는 서울상가 데이터 탐색기 (1): (http://can-do.tistory.com/108?category=778902)
Store data in Seoul 2 - 시각화¶
서울에 있는 상가 데이터 시각화 해보자
1. folium으로 한번 지도에 그려보자¶
- 데이터: store data in seoul 1에 사용했던 데이터를 그대로 사용 할 것이다!
In [48]:
geo_str = json.load(open('./books/data/02. skorea_municipalities_geo_simple.json', encoding='utf-8'))
map = folium.Map(location=[37.5502, 126.982], zoom_start=11)
map.choropleth(geo_data=geo_str,
data=seoul_count_result['관광/여가/오락'],
columns=[seoul_count_result.index, seoul_count_result['관광/여가/오락']],
fill_color='BuPu',
key_on='feature.id')
map
Out[48]:
In [49]:
seoul_count_result.sort_values('관광/여가/오락 비율', ascending=False)
Out[49]:
2. 광진구가 상가 대비(?) 오락이 많았다. 광진구를 좀 살펴봐야지¶
- seoul_data_result
- F: 생활서비스 / N: 관광,여가,오락 / O:숙박 / P:스포츠 / Q:음식 / R:학문,교육 / S:의료
In [50]:
seoul_data_result.head(3)
Out[50]:
In [54]:
gwang = seoul_data_result[(seoul_data_result['구']=='광진구')&(seoul_data_result['상권업종대분류코드']=='N')]
gwang.head(3)
Out[54]:
In [55]:
gwang2 = gwang.groupby('상권업종소분류코드').count()[['상호명']].sort_values('상호명', ascending=False)
2-1. 제일 놀이(N) 개수가 많은 애들 top5만 보자¶
In [57]:
gwang2 = gwang2.reset_index()
#del gwang2['index']
gwang2.columns = ['소분류코드', '개수']
gwang2.head(5)
Out[57]:
check_code에 top5 놀거리 코드를 저장해둠
In [58]:
check_code = []
for i in range(5):
code = gwang2['소분류코드'][i]
num = gwang2['개수'][i]
print(code, small_info[code], num)
check_code.append(code)
2-2. 광진구에 위치한 도서관들을 찾아보자¶
In [59]:
library_code = [code for code, value in small_info.items() if ('도서관' in value) == True]
print(library_code)
In [60]:
for code in library_code:
print(code, ':',small_info[code])
In [61]:
gwang[gwang['상권업종소분류코드'].isin(library_code)]
Out[61]:
2-3. 전에 사용했던 전체 도서관 위치..¶
feat.seoul
- 상권에 해당하는 도서관이 광진구에 없었다......
- 전에 서울에 있는 도서관 위치를 지도에 뿌려줄때.. 사용헀던 도서관 데이터를 불러와주자
In [62]:
seoul_li = pd.read_csv('./books/data/seoul_library.csv')
seoul_li.head(3)
Out[62]:
In [63]:
gwang_li = seoul_li[seoul_li['구']=='광진구']
gwang_li
Out[63]:
3. 광진구 지도에 나타내보자¶
위도 :37.54404 경도 :127.09637
In [64]:
gwang_top5=gwang[gwang['상권업종소분류코드'].isin(check_code)]
gwang_top5.head(3)
Out[64]:
In [66]:
map = folium.Map(location=[37.55404, 127.09637], zoom_start=13)
for i in range(gwang_top5.shape[0]):
lat = gwang_top5['위도'].iloc[i]
lon= gwang_top5['경도'].iloc[i]
name = gwang_top5['상호명'].iloc[i]
folium.RegularPolygonMarker([lat, lon], popup=name,
fill_color='#FDD692', number_of_sides=8, radius=3).add_to(map)
# 도서관
for i in range(gwang_li.shape[0]):
lat = gwang_li['위도'].iloc[i]
lon= gwang_li['경도'].iloc[i]
name = gwang_li['도서관명'].iloc[i]
folium.RegularPolygonMarker([lat, lon], popup=name,
fill_color='#E53A40', number_of_sides=3, radius=10).add_to(map)
map
Out[66]:
In [ ]:
반응형
'Project > 데이터 가지고 놀기' 카테고리의 다른 글
[League of Legends] 2018 Spring 경기 (2) - 챔프 등장 횟수 및 승률 (0) | 2018.09.18 |
---|---|
[League of Legends] 2018 Spring 경기 (1) - 진영별 승리 (0) | 2018.09.17 |
[Seoul Store] 내맘대로 하는 서울상가 데이터 탐색기 (1) (0) | 2018.07.14 |
[서울시 도서관] 서울시 도서관 개수 시각화 (0) | 2018.07.11 |
pixel-art :: openCV 기초 (4) - 이미지 임계처리 (1) | 2018.03.06 |
댓글