본문 바로가기
  • 紹睿: 자유롭고 더불어 사는 가치있는 삶
Project/데이터 가지고 놀기

[Seoul Store] 내맘대로 하는 서울상가 데이터 탐색기 (2)

by 징여 2018. 7. 16.
반응형

[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]:
생활서비스 관광/여가/오락 숙박 스포츠 음식 학문/교육 의료 생활서비스 비율 관광/여가/오락 비율 숙박 비율 스포츠 비율 음식 비율 학문/교육 비율 의료 비율
광진구 6.0 661 102 0.0 625 1297 555 3246.0 0.184843 20.363524 3.142329 0.000000 19.254467 39.956870 17.097967
관악구 9.0 534 110 0.0 495 1232 570 2950.0 0.305085 18.101695 3.728814 0.000000 16.779661 41.762712 19.322034
중랑구 4.0 362 106 1.0 283 837 454 2047.0 0.195408 17.684416 5.178310 0.048852 13.825110 40.889106 22.178798
강북구 1.0 266 124 0.0 278 495 367 1531.0 0.065317 17.374265 8.099282 0.000000 18.158067 32.331809 23.971261
금천구 4.0 271 76 2.0 323 638 288 1602.0 0.249688 16.916355 4.744070 0.124844 20.162297 39.825218 17.977528
강서구 9.0 474 101 4.0 577 1206 596 2967.0 0.303337 15.975733 3.404112 0.134816 19.447253 40.647118 20.087631
구로구 3.0 391 109 1.0 521 1057 434 2516.0 0.119237 15.540541 4.332273 0.039746 20.707472 42.011129 17.249603
강동구 6.0 457 95 1.0 502 1404 627 3092.0 0.194049 14.780078 3.072445 0.032342 16.235446 45.407503 20.278137
영등포구 9.0 454 210 2.0 902 857 650 3084.0 0.291829 14.721141 6.809339 0.064851 29.247730 27.788586 21.076524
용산구 3.0 251 108 1.0 603 449 334 1749.0 0.171527 14.351058 6.174957 0.057176 34.476844 25.671812 19.096627
송파구 4.0 523 85 2.0 766 1520 866 3766.0 0.106213 13.887414 2.257037 0.053107 20.339883 40.361126 22.995220
성동구 0.0 261 92 2.0 444 684 470 1953.0 0.000000 13.364055 4.710701 0.102407 22.734255 35.023041 24.065540
동작구 5.0 273 34 1.0 366 962 453 2094.0 0.238777 13.037249 1.623687 0.047755 17.478510 45.940783 21.633238
동대문구 5.0 312 140 0.0 384 816 882 2539.0 0.196928 12.288302 5.513982 0.000000 15.124065 32.138637 34.738086
중구 5.0 275 306 0.0 831 355 493 2265.0 0.220751 12.141280 13.509934 0.000000 36.688742 15.673289 21.766004
종로구 2.0 283 230 1.0 1000 525 418 2459.0 0.081334 11.508743 9.353396 0.040667 40.666938 21.350142 16.998780
은평구 7.0 271 71 1.0 420 1078 519 2367.0 0.295733 11.449092 2.999578 0.042248 17.743980 45.542881 21.926489
서초구 9.0 491 86 6.0 1147 1603 1024 4366.0 0.206138 11.245992 1.969766 0.137426 26.271186 36.715529 23.453962
노원구 6.0 319 34 1.0 498 1451 660 2969.0 0.202088 10.744358 1.145167 0.033681 16.773324 48.871674 22.229707
양천구 4.0 302 19 2.0 408 1630 462 2827.0 0.141493 10.682703 0.672091 0.070746 14.432260 57.658295 16.342412
도봉구 2.0 187 23 1.0 284 892 367 1756.0 0.113895 10.649203 1.309795 0.056948 16.173121 50.797267 20.899772
성북구 5.0 299 126 2.0 568 1172 652 2824.0 0.177054 10.587819 4.461756 0.070822 20.113314 41.501416 23.087819
강남구 8.0 763 149 8.0 1945 2589 1991 7453.0 0.107339 10.237488 1.999195 0.107339 26.096874 34.737690 26.714075
서대문구 4.0 207 81 0.0 662 639 450 2043.0 0.195791 10.132159 3.964758 0.000000 32.403328 31.277533 22.026432
마포구 5.0 267 123 0.0 1273 832 543 3043.0 0.164312 8.774236 4.042064 0.000000 41.833717 27.341439 17.844233

2. 광진구가 상가 대비(?) 오락이 많았다. 광진구를 좀 살펴봐야지¶

  • seoul_data_result
  • F: 생활서비스 / N: 관광,여가,오락 / O:숙박 / P:스포츠 / Q:음식 / R:학문,교육 / S:의료
In [50]:
seoul_data_result.head(3)
Out[50]:
상호명 상권업종대분류코드 상권업종중분류코드 상권업종소분류코드 경도 위도 상세주소
1 국제컴퓨터속셈웅변학원 R R07 R07A15 127.062161 37.499013 서울특별시 강남구 도곡로 510
3 더소망치과의원 S S01 S01B04 127.136501 37.534154 서울특별시 강동구 천호대로 1128
17 남도모텔 O O02 O02A01 127.106052 37.605227 서울특별시 중랑구 양원역로 53
In [54]:
gwang = seoul_data_result[(seoul_data_result['구']=='광진구')&(seoul_data_result['상권업종대분류코드']=='N')]
gwang.head(3)
Out[54]:
상호명 상권업종대분류코드 상권업종중분류코드 상권업종소분류코드 경도 위도 상세주소
338 리치노래방 N N02 N02A01 127.107895 37.547610 서울특별시 광진구 아차산로78길 182
963 마돈나 N N02 N02A01 127.082756 37.562690 서울특별시 광진구 능동로 376
1039 슈퍼게임랜드 N N01 N01A01 127.071862 37.547612 서울특별시 광진구 광나루로 380
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]:
소분류코드 개수
0 N02A01 288
1 N01A01 114
2 N01A03 81
3 N08A01 42
4 N05A06 31

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)
N02A01 노래방 288
N01A01 인터넷PC방 114
N01A03 당구장 81
N08A01 게임룸 42
N05A06 스포츠마사지 31

2-2. 광진구에 위치한 도서관들을 찾아보자¶

In [59]:
library_code = [code for code, value in small_info.items() if ('도서관' in value) == True]
print(library_code)
['R10B05', 'R10B07', 'R10A03', 'R10B04', 'R10B06']
In [60]:
for code in library_code:
    print(code, ':',small_info[code])
R10B05 : 도서관
R10B07 : 국회도서관
R10A03 : 이동도서관운영
R10B04 : 도서관/독서실/기록보존
R10B06 : 국립중앙도서관
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]:
도서관명 주소 전화번호 팩스번호 위도 경도 홈페이지 휴관일 도서관코드 상세주소
0 가락몰도서관 서울 송파구 양재대로 932 NaN NaN 37.492994 127.110137 NaN NaN 111456.0 서울특별시 송파구 양재대로 932
1 갈현1동문화의집 서울특별시 은평구 갈현로 301 NaN NaN 37.623651 126.914473 NaN NaN 711308.0 서울특별시 은평구 갈현로 301
2 강남구립논현도서관 서울특별시 강남구 학동로43길 17 02-3443-7650 02-542-6459 37.517333 127.037200 http://nhlib.gangnam.go.kr/ 매월 둘째주, 넷째주 화요일 / 일요일을 제외한 법정공휴일 111070.0 서울특별시 강남구 학동로43길 17
In [63]:
gwang_li = seoul_li[seoul_li['구']=='광진구']
gwang_li
Out[63]:
도서관명 주소 전화번호 팩스번호 위도 경도 홈페이지 휴관일 도서관코드 상세주소
32 광진정보도서관 서울특별시 광진구 아차산로78길 90 02-3437-5092 02-3437-0165 37.550612 127.108206 http://www.gwangjinlib.seoul.kr/ 매월 둘째주, 넷째주 화요일 / 국경일, 일요일을 제외한 국가지정공휴일, 임시공휴일... 111036.0 서울특별시 광진구 아차산로78길 90
34 구의제3동도서관 서울특별시 광진구 구의동 587-29 02-454-6294 02-454-6295 37.538070 127.089686 http://www.gwangjinlib.seoul.kr/ 매월 둘째주, 넷째주 월요일 / 국경일, 일요일을 제외한 국가지정공휴일, 임시공휴일... 111305.0 서울특별시 광진구 구의동 587-29
138 자양제4동도서관 서울특별시 광진구 자양4동 63-1 02-465-0737 02-465-0739 37.534045 127.064046 http://www.gwangjinlib.seoul.kr/ 매월 첫째주, 셋째주 화요일 / 국경일, 일요일을 제외한 국가지정공휴일, 임시공휴일... 111115.0 서울특별시 광진구 자양4동 63-1
145 중곡문화체육센터도서관 서울특별시 광진구 능동로 433 02-3408-4900 02-3408-4950 37.567735 127.082571 http://www.gwangjinlib.seoul.kr/ 매월 첫째주, 셋째주 월요일 / 국경일, 일요일을 제외한 국가지정공휴일, 임시공휴일... 111116.0 서울특별시 광진구 능동로 433

3. 광진구 지도에 나타내보자¶

위도 :37.54404 경도 :127.09637

In [64]:
gwang_top5=gwang[gwang['상권업종소분류코드'].isin(check_code)]
gwang_top5.head(3)
Out[64]:
상호명 상권업종대분류코드 상권업종중분류코드 상권업종소분류코드 경도 위도 상세주소
338 리치노래방 N N02 N02A01 127.107895 37.547610 서울특별시 광진구 아차산로78길 182
963 마돈나 N N02 N02A01 127.082756 37.562690 서울특별시 광진구 능동로 376
1039 슈퍼게임랜드 N N01 N01A01 127.071862 37.547612 서울특별시 광진구 광나루로 380
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 [ ]:
 


반응형

댓글