본문으로 바로가기

아주 예전에 혜식님의 블로그를 참조로 우리나라 지도 그리기를 해본 적이 있는데요. 그리고 이 방법을 이용해서 우리나라 인구 소멸 위기 지역도 시각화를 했구요. 문재인 대통령님이 당선되던 19대 대선결과를 분석하던 글에서도 이용했었죠. 그리고 이 방법은 최근 제가 집필한 파이썬으로 데이터 주무르기라는 책에서도 활용을 했었죠. 그리고 또 제가 토요일마다 진행하는 파이썬을 활용한 데이터 분석 입문이라는 수업에서도 역시 다루었습니다. 정확하게는 수업에서 사용했었죠. 수업의 난이도 조절을 위해 이제는 다루지 않지만 말이죠^^. 그래도 애써 정리했던 내용인데 사용하지 않게 되어서 살짝 블로그에 기록을 남겨봅니다.^^. 일단, 이 글에서는...

drawKorea.py

라는 파일을 다운로드 받으셔서 지도를 그려서 테스트할 소스코드랑 같은 폴더에 두시면 됩니다. 뭐 패키지로 배포하면 더 멋지겠지만, 일단 그런 방법을 잘 모르는데다(그것도 공부해 볼려구요^^) 이런걸 꼭 배포까지 거창하게 할 건 아니다 싶어서 말이죠.ㅠㅠ. 위 파일의 코드는 아래를 펼치시면 됩니다.

drawKorea 코드 보기

함수에 사용된 코드의 설명은 생략입니다^^. 대충 이전에 다루어서요^^. 아.. 그래도 하나 이야기할 것은 이 그림을 그리게 되는 시작은

제가 직접 만든 엑셀파일을 이용했던거죠^^. 함수를 만들때 지역 기준을 직접 잡았는데 그걸 엑셀로 잡은 겁니다.

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
%matplotlib inline

from matplotlib import font_manager, rc
plt.rcParams['axes.unicode_minus'] = False

f_path = "/Users/pinkwink/Library/Fonts/D2Coding-Ver1.3-20171129.ttf"
font_name = font_manager.FontProperties(fname=f_path).get_name()
rc('font', family=font_name)

import drawKorea as dK

필요한 모듈을 잡구요... 같은 폴더에 있는 py 파일도 위에 보이듯이 import drawKorea as dK로 임포트할 수 있습니다. 이 모듈을 사용할 때 가장 중요한 부분은

dK.draw_korea_pd

바로 dK.draw_korea_pd라는 변수입니다.

바로 여러분들이 사용할 데이터가 있다면 그 데이터의 ID를 위 변수의 ID와 맞추면 됩니다.

dK.simpleDraw(dK.draw_korea_pd)

기본적인 형태는 위 명령을 사용해보면

이렇게 그려집니다. 엑셀과 동일하게^^ 이제 연습용으로...

pop_exam.csv

위 파일을 받으세요.. 위 파일에는 인구 현황과 남여비율 등의 데이터가 들어 있습니다.

korea_pop = pd.read_csv('./pop_exam.csv', index_col=0)
korea_pop

읽어보면...

내용은 위와 같은데요... 소속 광역시도와 시도, 그리고 20, 30대 여성인구, 65세 이상 인구, 남성, 여성 인구, 인구 소멸 위지 지역 여부, 여성비, 2030여성비의 데이터가 있습니다. 그리고 앞선 모델에서 ID를 일치시키고, x, y좌표를 같이 두었습니다. 저런 경우는 그냥 사용하시면 됩니다.  아 저 인구 데이터는 국가통계포털에서 2017년 인구 현황을 받은 것입니다.

dK.drawKorea('인구수합계', korea_pop, 'Blues')

이렇게 해서.. 인구수합계를 단순히 그려보면

이렇습니다. 서울에서는 송파가 가장 인구가 많네요...남양주가 그렇게 인구가 많은 줄 몰랐네요^^

dK.drawKorea('소멸위기지역', korea_pop, 'Reds')

이제 인구 소멸 위기 지역을 표시해보죠

저렇습니다. 상당히 위기죠. 우리나라의 위기.ㅠㅠ.

dK.drawKorea('여성비', korea_pop, 'RdBu', zeroCenter=True)

단순하게 여성비율을 보면

이렇습니다. 뭐 남녀 비율이 고만고만해 보일 수 있지만, 그건 정말 지역별 남여 비율이죠. 20-30대 인구만 다시 비율을 보면..

dK.drawKorea('2030여성비', korea_pop, 'RdBu', zeroCenter=True)

꽤 문제가 보입니다.

서울등의 지역에서 여성 인구 밀집 성향이 보이고, 나머지 많은 지역 특히 지방에서 남초현상이 많이 관찰됩니다. 그 지역들이 또 대다수 인구소멸위기지역이기도 하구요. 아무튼.. 우리나라 지도 그리는 함수를 살짝 공유합니다.^^


댓글을 달아 주세요

  1. BlogIcon 공수래공수거 2018.07.04 08:17 신고

    오 흥미롭습니다
    이건 한번 익혀 볼만 한것같은데요..
    쉽게 통게를 한눈에 알수 있게 해 주는군요^^

  2. BlogIcon kangdante 2018.07.04 08:41 신고

    인구가 점점 소멸하는 지방이 늘어나고
    끝내는 도시국가가 될 것 같아 우려됩니다..

    • BlogIcon PinkWink 2018.07.04 16:47 신고

      국립공원이 엄청 넓어질듯하네요...
      인구에 대한 문제는 쉽게 해결될 것 같지 않아서 슬프기도 합니다.ㅠㅠ

  3. BlogIcon 그여시 2018.07.04 09:48 신고

    와 정말 대단하시네요 ㅎㅎ
    저렇게 정리하니까 보기도 편하고!!
    역시나 지방에 남초현상이 많이 보이는군요ㅠㅠ!

  4. BlogIcon 휴식같은 친구 2018.07.04 13:47 신고

    멋진 분석을 하는 코딩이네요.
    신기해요~~

  5. BlogIcon 핑구야 날자 2018.07.05 06:48 신고

    인구 분포에 대해서 쉽게 확인할 수 있어서 좋네요 즐거운 하루 보내세요

  6. BlogIcon 드래곤포토 2018.07.05 07:40 신고

    흥미로운 분석이네요
    아무래도 제가 사는 동네를 중심으로 보게되네요
    즐거운 하루보내세요

  7. BlogIcon Deborah 2018.07.06 03:32 신고

    오..정말 신기하게 봤는데요. 어느지역인 인구가 소멸되는 곳도 있군요 ㅠㅠ

  8. BlogIcon 북두협객 2018.07.06 06:45 신고

    대한민국 인구소멸이 점점 가속화가 붙는 것 같습니다

  9. BlogIcon 스티마 2018.07.10 00:42 신고

    지도와 데이터를 함께 보니, 전체적인 흐름도 알 수 있고,
    문제점도 바로 확인할 수 있어서 정말 유용하군요!

  10. BlogIcon 라디오키즈 2018.07.16 14:49 신고

    데이터를 시각화하니 훨씬 눈에 잘 들어오는데요? 디테일하겐 좀 더 다듬으면 좋겠지만, 활용 가치가 높은 구현 법이네요.^^