티스토리 뷰

시군구별 총수입금액평균을 folium으로 시각화 해보았습니다.

아래 코드를 실행하면 위와 같은 코드가 나옵니다.

mjs1995.tistory.com/170

 

[python][folium] geojson을 이용한 지도그리기 (2)

https://mjs1995.tistory.com/169?category=802136 [python][folium] geojson을 이용한 지도그리기 (1) 원하는 형태의 시군을 이용하여 229개의 시군 지도를 만들어 보려고한다. python을 이용해서 folium 작업을..

mjs1995.tistory.com

위 블로그를 참고 하였습니다.

데이터는 첨부합니다. 아래 두개 데이터를 같은 디렉토리에 넣고 실행하시면 됩니다.

ddd.csv
0.00MB
skorea_municipalities_geo_simple.json
0.35MB

 

위 데이터의 모양은 아래와 같습니다.

ddd.csv

 

skorea_municipalities_geo_simple.json

위 데이터는 github.com/southkorea/southkorea-maps/tree/master/kostat/2013/json 여기에서 받았습니다.

git clone은 아래와 같이 하시면 됩니다.
git clone https://github.com/southkorea/southkorea-maps

import webbrowser
import folium, json
import pandas as pd

m = folium.Map(location=[36, 127], tiles="OpenStreetMap", zoom_start=8)
geo_data = json.load(open('skorea_municipalities_geo_simple.json', encoding='utf-8'))

df = pd.read_csv('ddd.csv', encoding='utf-8', dtype={'code':'str'})
folium.Choropleth(geo_data=geo_data,
                  data = df,
                  columns=['sigun', 'avg_income'],
                  key_on='feature.properties.name',
                  fill_color='YlGn',
                  fill_opacity=0.8
                  ).add_to(m)

m.save('folium_kr.html')
webbrowser.open_new("folium_kr.html")

위 코드에서 눈여겨 볼 만한 부분은 columns = ['sigun', 'avg_income'] 이 부분부터 입니다. df에 'sigun', 'avg_income'을 가지고 지도에 표시 하겠다는 것입니다. 'sigun'은 이름 그대로 시군입니다. 신안군, 합천군, 함양군 이런 시군입니다.

위 ddd.csv에서 '태안군'이 91043020의 평균값입니다. key_on='feature.properties.name'은 geodata의 형식이 아래와 같이 생겼기 때문에 feature.properties.name으로 매핑을 한 것입니다.

만약 code로 하고 싶다면 feature.properties.code로 해주면 바뀝니다.

encoding은 ddd.csv, skorea_municipalities_geo_simple.json 둘 다 utf-8로 불러왔습니다.

 

마지막으로 색상 fill_color옵션입니다.
'BuGn', 'BuPu', 'GnBu', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'RdPu', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd'
종류는 위와 같이 12가지 입니다.

BuGn
BuPu
GnBu
BuGn BuPu GnBu

 

 

 

OrRd
PuBu
PuBuGn
OrRd PuBu PuBuGn

 

PuBuGn
PuRd
RdPu
PuBuGn PuRd RdPu

 

YlGn
YlGnBu
YlOrBr
YlGn YlGnBu YlOrBr

 

 

YlOrRd

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함