일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nvidia
- 그리디
- Logistic linear
- 잡담
- Trouble shooting
- PYTHON
- category_encoders
- beautifulsoup
- 파일입출력
- ML
- AI
- auc
- aof
- Roc curve
- Django
- EarlyStopping
- 인공지능
- nvcc
- semi-project
- json
- 이것이 코딩 테스트다
- nvidia-smi
- 트러블슈팅
- cuda
- pandas
- 크롤링
- SMTP
- IOPub
- selenium
- 머신러닝
Archives
- Today
- Total
개발 블로그
[Python] 데이터 시각화 (지도/ Folium, GeoJSON) 본문
시각화할 데이터는 [Python] pandas, seaborn 실습에서 사용한걸 활용합니다.
목차>
더보기
목차
01 Folium
Folium은 leaftlet.js를 기반으로 하는 Python 지도 시각화 라이브러리입니다.
- 지도 데이터 : https://github.com/southkorea/southkorea-maps 에서 서울만 따로 추린 GeoJSON 데이터를 활용합니다.
(southkorea-maps/kostat/2013/json/skorea_municipalities_geo_simple.json)
Folium library 설치 :
- pip install folium==0.5.0
- pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org folium==0.5.0
- conda install folium==0.5.0
02 GeoJSON
JSON 데이터 형식을 활용한 공간 데이터 교환 포맷(Geospatial Data Interchange Format)
- GeoJSON에서 Feature는 Geometry object와 속성정보를 담고 있고, Feature 컬렉션은 Feature의 집합으로 구성됩니다.
<참고>
http://www.onspatial.com/2010/01/geojson-format-specification.html
https://en.wikipedia.org/wiki/GeoJSON
03 지도를 활용한 데이터 시각화
우선 github에서 가져온 파일이 json형식이기 때문에 json을 import해주고 json변수를 만들어 줍니다.
import json
geo_path = 'skorea_municipalities_geo_simple.json'
geo_str = json.load(open(geo_path, encoding='utf-8')) # 'r'모드 생략
출력해보면 아래와 같이 dict타입의 json형식이 출력되는것을 볼 수 있습니다.
json에 대해서 더 알고싶다면 -> JSON이란?
03_01 folium.Map( )
folium을 사용하기 위해 import해줍니다.
folium.Map()을 이용하여 지도 객체를 만들어 줍니다.
- location = [위도, 경도]
- zoom_start : map객체 실행 후 지도의 확대 정도
- tiles : 지도 타입 (default type, "Stamen Terrain", "Stamen Toner")
import folium
map = folium.Map(location=[37.5502, 126.982], zoom_start=11, tiles='Stamen Toner')
03_02 map.choropleth( )
choropleth는 Pandas DataFrames/Series와 Geo/TopoJSON 지오메트리 간에 데이터를 바인딩하여 쉽게 만들 수 있습니다. Color Brewer 순차 색 구성표는 라이브러리에 내장되어 있으며 다른 조합을 빠르게 시각화하기 위해 전달할 수 있습니다.
- geo_data : 지도 데이터 파일 경로
- data : 시각화 하려는 데이터파일
- columns : [지도 데이터와 매핑할 값, 시각화 할 변수]
- fill_color : 시각화에 쓰일 색https://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3
- key_on : 컬러 범주 이름, json 파일(지도 데이터)의 "feature" type의 "id" 에 매칭됩니다.
map.choropleth(geo_data = geo_str,
data = gu_df['살인'],
columns = [gu_df.index, gu_df['살인']],
fill_color = 'PuRd',
key_on = 'feature.id')
'Programming Language > Python' 카테고리의 다른 글
[Python] 웹 크롤링 & 자연어 처리 (1) (0) | 2022.03.25 |
---|---|
[Python] googlemaps를 사용해서 각 경찰서의 위도, 경도 정보를 얻기 (0) | 2022.03.24 |
[Python] pandas, seaborn 실습 (0) | 2022.03.23 |
[Python ] Pandas DataFrame (0) | 2022.03.22 |
[Python] 파일입출력 (0) | 2022.03.22 |
Comments