인공지능/데이터 분석

Pandas를 활용한 성남시 인구 통계 시각화 해보기

여니여니_ 2019. 7. 20. 19:08

 

공공데이터 포털에 있는 자료를 활용하여 성남시 인구 통계를 시각화해보려고 한다.

정확히는 "경기도 성남시_2018년 9월 인구 현황"를 활용하였다.

 

https://www.data.go.kr/dataset/15007386/fileData.do

 

공공데이터포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dataset)와 Open API로 제공하는 사이트입니다.

www.data.go.kr

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import pandas as pd
import numpy as np
import platform
from matplotlib import font_manager,rc
 
#한글 설정
plt.rcParams['axes.unicode_minus']=False
 
if platform.system()=='Darwin':
    rc('font',family='AppleGothic')
elif platform.system()=='Windows':
    path='C:/Windows/Fonts/malgun.ttf'
    font_name=font_manager.FontProperties(fname=path).get_name()
    rc('font',family=font_name)
else:
    print('unknown system...')
 
    
#성남시 인구수 통계 파일 읽어오기
data=pd.read_csv('./pop_stat.csv',encoding='euc_kr')
 
#데이터 확인하기
print(data.columns)
print(data.columns)
 
#첫 column의 이름을 '행정 기관'에서 '동별'로 바꾸기
data.rename(columns={data.columns[0]:'동별'},inplace=True)
 
 
#index를 '동별'로 바꿔 그래프 표기를 편리하게 한다.
data.set_index('동별',inplace=True)
 
#인구수_계에 따른 내림차순 정렬
sorted=data.sort_values(by='인구수_계',ascending=False)
 
#위쪽 다섯개의 행을 출력
 
#인구수_계만 뽑아서 리스트에 넣기 - 없어도 무관!
total=data['인구수_계'].values
results = list(map(int, total))
print(total)
 
#상위 10개의 행만 저장
sorted2=sorted[0:10]
print(sorted2)
 
#그래프에 '19세 이상_계','65세 이상_계','인구수_계'에 해당하는 열만 표
ax = sorted2[['19세 이상_계','65세 이상_계','인구수_계']].plot.barh()
 
plt.xlabel('인구수')
plt.ylabel('동별')
 
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 

그래프