빅데이터로 분석해 본 부천 역곡의 연령별 남녀 인구 비율(20년 9월.)

IT/빅데이터|2020. 11. 30. 11:34

안녕하세요 빅데이터 분석을 취미로 하는, 결코 빅데이터 분석과 관련한 일을 하지는 않지만 취미로 공공 빅데이터분석을 하고 있는 직장인 블로거입니다.

 

 

 

 

 

이번시간에는 통계청에서 제공하는 빅데이터를 이용하여 제가 살고 있는 지역의 주민들에 대한 연령별 남녀 성비율 인구수 조사를 좀 해보려구요.

 

그냥 하는거예요. 책에서 배운 내용을 이용하여 조금 다른 방식으로 해보려는 건데, 과연 우리동네에는 어떤 연령대의 주민들이 있으며 남녀 차이는 얼마나 나는지 보고자 하는 목적입니다.

 

그런데 이런 분석 결과가 과연 다른 의미있는 분석 주제로도 도출이 될까요? 이 또한 궁금하네요^^

 

 

 

 

 행정안전부 빅데이터 자료 출력!

 

우선 인구 자료를 분석하기 위하여 통계청에서 제공하는 빅데이터를 좀 다운로드 받도록 하겠습니다.

 

제가 하는 빅데이터 분석을 위해서는 모든 자료는 CSV파일 형태로 되어 있어야 한다는 점!

 

 

https://www.mois.go.kr/frt/a01/frtMain.do

 

행정안전부

행정안전부 홈페이지에 오신것을 환영합니다.

www.mois.go.kr

 

우선 행정안전부 사이트에 접속합니다.

 

그 다음, 분석에 사용할 인구수 데이터가 있는 메뉴로 이동합니다.

 

 

정책자료 -> 통계 -> 주민등록 인구통계 -> 연령별 인구현황

 

 

여기서 몇가지 옵션을 지정해야 하는데 아래와 같이 지정해서 검색한 다음 다운로드 받아주세요!

 

 

 

 

 

 

 자료 2차 가공!

 

사실 자료를 2차가공할 필요는 없습니다만 이런 문구를 쓰면서 다운받은 자료를 한번 더 검증해 보는 것도 중요합니다.

 

데이터가 잘 표시되는지, 누락된 데이터는 없는지, 자료를 분석하기 위한 인덱스 열은 어떻게 구성되어 있는지 정도는 분석할 데이터의 로우 데이터로써 파악이 되어 있어야 겠지요.

 

 

 

 

제가 받은 자료를 한번 보면 우선 연령대 별로 데이터가 열구분하여져 있습니다. 그리고 남자가 0세부터 100세까지 있고 그 다음열부터 여성 데이터가 존재하네요. 

 

 

 

참고로 코드로 인덱스 구현할때는 인덱스 0번이 이런 데이터의 1번 열이라는거 잊지 마시구요.

 

 

 

 

 파이썬 코드 구현!

 

이제 제가 이런 빅데이터로 분석할 자료의 취지를 다시금 써 보겠습니다. 

 

우선 제가 사는 동네는 부천시 괴안동입니다. 하지만 괴안동이 아닌 범안동으로 표기되더라구요. 그래서 이 범박안에 사는 주민들의 남성 인구수 0세부터 100세까지~~

 

그리고 여성 주민 인구수도 동일하게 0세부터 100세까지 그래프로 나열할 예정입니다.

 

 

 

 

이유는 남성는 몇살대 연령 주민이 많은지, 여성은 몇살대 연령 주민이 많은지, 남성과 여성 비율의 차이가 심한지 등등을 분석해 보려구요.

 

아마 이렇게 분석되고 나면 제가 사는 지역의 상권에서 어느 연령대의 남성이냐 여성이냐를 목표로 상권 타겟을 정하는 대 도움이 되지 않을까 합니다.

 

이제 코드를 구현해 보도록 하겠습니다. 제가 빅데이터 분석할 때 사용하는 언어는 파이썬이고 전체적으로 구현한 소스 코드는 아래와 같습니다.

 

 

import csv 
f = open('202009_202009_연령별인구현황_월간 (2).csv')
data = csv.reader(f)
m_result = []
f_result = []

for row in data : 
    if '범안동' in row[0] :
        for i in row[3:103] :
            m_result.append(int(i.replace(',', '')))
        for i in row[106:] :
            f_result.append(int(i.replace(',', '')))
import matplotlib.pyplot as plt
plt.style.use('ggplot')
plt.plot(m_result)
plt.plot(f_result)
plt.show()

 

간단히 소스코드를 설명하자면,

 

1. 행정안전부에서 받은 인구자료를 열고

2. CSV자료에 있는 열준으로 남성의 데이터와 여성의 데이터를 m_result변수와 f_result변수에 각각 담은 다음

3. 연령별 남성과 여성 데이터를 그래프로 표시하는 것

 

이정도만 설명하도록 하겠습니다! 

 

 

 

 

 그래프 출력!

 

자 이제 구현한 파이썬 코드를 돌려보도록 하겠습니다. 코드를 돌려보니 자료에서 나오는 범박동 인구에 대한 연령별 성비율이 나오는 군요. 대략적으로 이렇게 생겼습니다.

 

 

 

 

 

 

 결과 확인!

 

어라? 그런데 결과를 그래프로 만들어 보니 도대체 모가 남성 인구수 데이터이고 모가 여성 인구수 데이터인지 색으로 구별이 안되요. 그냥 감으로 해야 하나? 그건 아니겠죠. 

 

여성 그래프와 남성 그래프 수치를 비교할 수 있도록 색을 지정해 보도록 하죠.

 

 

 

이제야 무언가 차이가 있는 그래프로 볼 수 있겠군요. 

 

우선 연령별로 남성과 여성의 인구 차이는 크게 차이나는 구간은 없으나 20대 초반은 여성이, 그리고 60대는 남성의 인구수가 조금 더 많은 차이가 보이는 군요.

 

 

 

 

아 이젠 또 무엇을 할까!!

 

이제 이렇게 분석해 보니 우리 동네의 여성인구수가 다른 지역의 인구수랑 비교해서 적은건지 많은건지 궁금해집니다. 다음에는 다른 지역의 여성 인구수와 한번 비교하는 빅데이터 분석을 해 보도록 하겠습니다.

 

재미없는 글 읽어 주셔서 감사합니다^^

댓글()