반응형
Folium으로 시각화 하기 - 지도¶
In [2]:
import folium
In [6]:
map_osm = folium.Map(location=[45.5236, -122.6750])
map_osm
Out[6]:
zoom_star을 사용하면, 확대 비율을 정의할 수 있음¶
In [5]:
stamen = folium.Map(location = [45.5236, -122.6750], zoom_start=13)
stamen
Out[5]:
tiles를 설정하면, 지도 모양을 바꿀 수 있다.¶
- stamentoner
- openstreetmap
- mapquestiopenaerial
- stamenwatercolor
- stamenterrain
- mapboxbright
- cartodbdark_matter ... 엄청 많다.
In [10]:
map_2 = folium.Map(location=[45.5236, -122.6750], tiles='stamentoner', zoom_start=13)
folium.Marker([45.5244, -122.6699], popup='The Waterfront').add_to(map_2)
folium.CircleMarker([45.5215,-122.6261], radius=50,
popup='Laurelhuerst Park', color='#3186cc',
fill_color='#3186cc').add_to(map_2)
map_2
Out[10]:
US_ Unemployment 데이터를 시각화 하기¶
In [12]:
import pandas as pd
In [13]:
state_unemployment = './data/folium_US_Unemployment_Oct2012.csv'
state_data = pd.read_csv(state_unemployment)
state_data.head()
Out[13]:
미국 실업률 데이터를 시각화 하기 위해서는 json형식의 파일이 필요하다.¶
- id: 주별고유 ID
- 주 이름
- 좌표 등
In [14]:
state_geo ='./data/02. folium_us-states.json'
map = folium.Map(location=[40, -98], zoom_start=4)
map.choropleth(geo_data=state_geo, data=state_data,
columns=['State', 'Unemployment'],
key_on='feature.id',
fill_color='YlGn',
legend_name='Unemployment Rate (%)')
map
Out[14]:
json을 불러와, 서울시 구별 데이터 뿌려주기¶
In [15]:
import json
In [26]:
geo_path = './data/02. skorea_municipalities_geo_simple.json'
geo_str = json.load(open(geo_path, encoding='utf-8'))
서울시 구역별로 나누어졌다!¶
In [24]:
map = folium.Map(location=[37.5502, 126.982], zoom_start=11,
tiles='stamentoner')
map.choropleth(geo_data=geo_str)
map
Out[24]:
전에 만들어둔, 서울시의 범죄현황, 검거율, 인구수 등 데이터를 불러와준다¶
In [28]:
crime_seoul = pd.read_csv('data/crime_in_Seoul_final.csv')
crime_seoul.head()
Out[28]:
In [36]:
import matplotlib.pyplot as plt
import matplotlib
%matplotlib inline
import seaborn as sns
sns.set_style("whitegrid")
폰트 설정¶
In [37]:
from matplotlib import font_manager, rc
rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False
In [38]:
plt.figure(figsize=(10,8))
sns.pairplot(crime_seoul,
x_vars=['인구수', 'CCTV'],
y_vars=['살인검거율', '폭력검거율'], kind='reg', size=3)
plt.show()
In [43]:
plt.figure(figsize=(10, 8))
target_col=['강간', '강도', '살인', '폭력', '범죄']
sns.heatmap(crime_seoul[target_col], annot=True, fmt='f', linewidths=.5)
plt.title('범죄 비율')
plt.show()
살인이 일어난 구역들을 이제 지도로 뿌려보자!¶
In [ ]:
crime_seoul=crime_seoul.set_index('구별')
In [56]:
map = folium.Map(location=[37.5502, 126.982], zoom_start=11,
tiles='stamentoner')
map.choropleth(geo_data=geo_str,
data=crime_seoul['살인'],
columns=[crime_seoul.index, crime_seoul['살인']],
fill_color='PuRd',
key_on='feature.id')
map
Out[56]:
반응형
'Study > 파이썬으로 데이터 주무르기' 카테고리의 다른 글
[Folium으로 지도 그리기] folium으로 지도그리기 feat.인구소멸 위기지역 (0) | 2018.07.13 |
---|---|
[인구 데이터] 우리나라 인구 소멸 위기 지역 분석 (0) | 2018.07.13 |
[Linear regression] Boston dataset에 실제 적용해 보기 (0) | 2018.07.09 |
[Linear regression] 단일선형회귀분석 실습 (0) | 2018.07.09 |
[Linear regression] 단일선형회귀분석이란? (0) | 2018.07.09 |
댓글