반응형
1. 단계 구분도
지역별 통계치를 색의 차이로 표현한 지도
2. 시군구별 인구 단계 구분도
소스 코드
import json
#지도 데이터
map = json.load(open('SIG.geojson', encoding='UTF-8'))
import pandas as pd
#통계 데이터
df=pd.read_csv('Population_SIG.csv')
#문자형태로 변환
df['code']=df['code'].astype(str)
#지역을 6개의 구간으로 나눔
bins=list(df["pop"].quantile([0,0.2,0.4,0.6,0.8,1]))
import folium
#배경 지도
map_sig = folium.Map(location=[35.95, 127.7], #지도 중심 좌표
zoom_start=8, #확대 단계
tiles='cartodbpositron') #지도 종류
folium.Choropleth(
geo_data=map, #지도 데이터
data=df, #통계 데이터
columns=('code','pop'), #df 행정 구역 코드 및 인구
key_on='feature.properties.SIG_CD', #map 행정 구역 코드
fill_color='YlGnBu', #컬러맵
fill_opacity=1, #투명도
line_opacity=0.5, #경계선 투명도
bins=bins #계급 구간 기준값
).add_to(map_sig) #배경 지도에 추가
결과 사진
3. 서울시 동별 외국인 인구 단계 구분도
소스 코드
import json
#지도 데이터
seoul = json.load(open('EMD_Seoul.geojson',encoding='UTF-8'))
geo_seoul=json.load(open('SIG_Seoul.geojson',encoding='UTF-8'))
import pandas as pd
#통계 데이터
foreig = pd.read_csv('Foreigner_EMD_Seoul.csv')
foreig['code']=foreig['code'].astype(str)
#서울 지역을 6단계로 나눔
bins=list(foreig["pop"].quantile([0,0.2,0.4,0.5,0.6,0.7,0.8,0.9,1]))
import folium
#배경 지도 만들기
map_seoul = folium.Map(location=[37.56,127], #중심 좌표
zoom_start=12, #확대 단계
tiles='cartodbpositron') #지도 종류
folium.Choropleth(
geo_data=seoul, #지도 데이터
data=foreig, #통계 데이터
columns=("code","pop"), #행정구역코드, 인구
key_on = 'feature.properties.ADM_DR_CD', #행정구역코드
fill_color = 'Blues', #컬러맵
nan_fill_color='White', #결측치 색
fill_opacity=1, #투명도
line_opacity=0.5, #경계선 투명도
bins=bins #계급 구간 기준값
).add_to(map_seoul) #배경 지도에 추가
folium.Choropleth(geo_data=geo_seoul, #지도 데이터
fill_opacity=0, #투명도
line_opacity=4 #선 두께
).add_to(map_seoul) #지도에 추가
결과 사진
4. HTML 파일로 보기
'프로그래밍 > 파이썬' 카테고리의 다른 글
데이터 분석 - 통계 분석 기법을 이용한 가설 검정 (5) | 2023.01.18 |
---|---|
실전 데이터 분석 - 데이터 수집부터 시각화까지(with 후쿠오카) (7) | 2023.01.18 |
데이터 분석 - 텍스트 마이닝(대통령 연설,기사 댓글) (6) | 2023.01.14 |
데이터 분석 - 실전 데이터 분석(한국복지패널 데이터) (5) | 2023.01.13 |
데이터 분석 - 파이썬으로 그래프 만들기(seaborn) (7) | 2023.01.12 |