tech

Pandas를 통해 포항시 인구수 분표를 시각화해보자

downfa11 2024. 11. 17. 15:56

 

인구수 50만을 자랑하는 경상북도 최대의 메트로폴리스 포항

 

50만 이하로 떨어지면 대도시 혜택이 사라지고 구청도 사라져 통폐합된다고 함ㅠㅠㅠ

언제쯤 50만 아래로 떨어질까

 

 

우선 행정안전부에서 제공하는 주민등록상 인구통계를 내려받자. ​

https://jumin.mois.go.kr/

 

10년치 이상은 안되는 관계로 12년부터 21년까지만 *.csv 파일로 내려받으면 된다.


pyplot으로 그래프 나타낼려는데 한글이 깨지길래 넣음.

import matplotlib.pyplot as plt
import pandas as pd


plt.rcParams['axes.unicode_minus'] = False 
import platform
if platform.system() == 'Windows': # Windows
    plt.rc('font', family='Malgun Gothic')

 

 

 

csv파일 그대로 열어서 꺼내면 dtype이 object였다. 정수형으로 캐스팅해줘야 오름차순으로 정렬된다.

replace(',', "")만 하면 안돼서 regex=True를 넣어줘야 했다.

 

data=pd.read_csv('pohang.csv',encoding='euc-kr')
data.set_index('행정구역',inplace=True)

data2=data.dropna()
data2=data2.replace(',','',regex=True)
data2=data2.astype('int32')

for i in range(1,40):
    if(i%4!=0):
        data2=data2.drop(data.columns[i],axis=1)

 

  • data.set\_index('n') : n을 index으로 선정합니다.
  • data.dropna() : DataFrame 안의 모든 공백을 지웁니다.
  • data.replace('n','m') : DataFrame 안의 모든 'n'을 'm'로 대체합니다.
  • data.drop(): 코드 내용처럼 원하는 행이나 열을 자를 수 있고 보통 feature와 label을 분리하는데 사용한다.

사실 mnist나 기본적으로 제공하는 데이터모음들을 이용하는거보다 자체적인 *.csv 파일을 만지는게 더 실제로 써먹기 좋을 거 같아서 시작했는데 데이터 규모가 방대한게 아니라면 아마 이정도면 충분할 거임

 

 

 

그냥 pyplot으로 대충 만들어준다.

plt.plot(Y.index,Y.values,color='tomato',linestyle='-',marker='o')
plt.plot(prediction)
plt.title('Pohang Population')
plt.xlabel('year')
plt.ylabel('population')
plt.show()

 

 

이쁘게 그래프 만든 결과.

 

 

Pandas의 DataFrame을 이용해서 간단하게 데이터를 정리해봤음.

 


여담.

 

2022-07-31-17:13 현시간 벌써 49만 9854명

할 필요가 있었나싶음............................................

 

 

2022-08-01-19-26 사실 원래는 데이터 전처리해서 RNN 예측까지 하려했는데...

csv 파일 상태를 봐... 이걸 수작업으로 전처리해서 예측하는건 공부에도 전혀 도움안된다고 생각했다.