Data Analysis/Real Estate

2012년 ~ 2019년 성별, 연령별 국내 주택 소유자 수 트렌드 분석 with Python

동장군님 2021. 8. 17. 14:14

이번 포스팅에서는 2012년부터 2019년까지 국내 주택 보유자 수 데이터를 분석해보고자 한다. 데이터는 국가 통계청에서 가져왔고, 분석 및 시각화는 파이썬으로 하도록 하겠다. 시각화는 파이썬 기초 중에 기초라고 볼 수 있는 Matplotlib 패키지를 활용하도록 하겠다. 

 

 

1. 2012년 ~ 2019년 국내 주택 보유자 수 트렌드

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

%matplotlib inline
%config InlineBackend.figure_format='retina'

df=pd.read_csv('C:/Users/banad/Downloads/주택소유자수.csv',encoding='euc-kr')
df.columns=['거주지역','시점','성별','연령대','주택소유자수']
df['주택소유자수(백만)']=round(df['주택소유자수']/1000000,2)
df['시점']=df['시점'].astype(str)

df1=df[(df['연령대']=='총계') & (df['거주지역']=='전국') & (df['성별']=='총계')]
df2=df1.reset_index().drop('index',axis=1)

plt.figure(figsize=(20,11))
plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 15

plt.bar(df2['시점'],df2['주택소유자수(백만)'])
plt.title('연도별 주택소유자수(백만)',fontsize=25)

for x,y in enumerate(list(df2['주택소유자수(백만)'])):
    plt.text(x, y, '{:.2f}'.format(y), fontsize=15, color='#ff0000', 
                    horizontalalignment='center', verticalalignment='bottom')

지난 8년 간 주택 보유자 수는 꾸준히 증가하고 있는 점을 확인할 수 있다. 2012년 12백만 명에서 2019년 14백만 명으로 2백30만 명이 증가하였다. 

 

2. 2012년 ~ 2019년 성별 주택 보유자 수 트렌드

그 다음으로 성별 기준으로 주택 보유자 수 트렌드를 시각화하도록 하겠다.

sex=df[(df['거주지역']=='전국') & (df['성별']!='총계') & (df['연령대']=='총계')]
sex2=sex.pivot('시점','성별','주택소유자수(백만)')
sex2.columns=['남성','여성']

plt.figure(figsize=(20,8))
plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 15

plt.plot(sex2.index,sex2['남성'],label='남성주택보유자수')
plt.plot(sex2.index,sex2['여성'],label='여성주택보유자수')
plt.title('연도, 성별 주택소유자수(백만)',fontsize=25)
plt.yticks(np.arange(0,12.0,2.0))
plt.legend()

for x,y in enumerate(list(sex2['남성'])):
    plt.text(x, y, '{:.2f}'.format(y), fontsize=15, color='#ff0000', 
                    horizontalalignment='center', verticalalignment='bottom')
    
for x,y in enumerate(list(sex2['여성'])):
    plt.text(x, y, '{:.2f}'.format(y), fontsize=15, color='#ff0000', 
                    horizontalalignment='center', verticalalignment='bottom')

주택 보유자 수는 역시나 남성이 여성 대비 두드러지게 높은 점을 볼 수 있다. 남성 보유자 수가 많기는 하지만 증가폭은 여성이 월등히 높은 점을 확인할 수 있다. 남성은 12년 대비 12% 증가한 반면, 여성은 28%나 증가할 만큼 여성의 주택 보유 참여도가 높아지고 있다.

 

 

3. 2019년 연령별 주택 보유자 수 비중

다음으로 연령별 주택 소유자 수 비중을 계산해서 파이 차트로 시각화하도록 하겠다.

import seaborn as sns

df19=df[(df['성별']=='총계') & (df['연령대']!='총계') & (df['거주지역']=='전국')  & (df['시점']=='2019')]
df19=df19.pivot('시점','연령대','주택소유자수(백만)').T
df19.columns=['연령별 주택보유자수(백만)']
df19['pct']=df19['연령별 주택보유자수(백만)'].apply(lambda x:x/df19['연령별 주택보유자수(백만)'].sum())

explode = [0.1, 0.1, 0.1, 0.1,0.1, 0.1, 0.1]
fig1,ax1 = plt.subplots(figsize=(30,14))
ax1.pie(df19.pct, explode=explode, autopct='%1.1f%%',
        shadow=True, startangle=90)

ax1.set_title('2019년 연령별 주택보유자수 비중')
ax1.set_ylabel('비중')

ax1.legend(df19.index,
          title="섹터",
          loc="center right",
          bbox_to_anchor=(1, 0, 0.5, 1))

plt.show()

19년 기준 연령별로 볼 경우 50대, 40대, 60대 순으로 많은 점을 아래 차트로 확인할 수 있다.

 

4. 2012년 ~ 2019년 연령별 주택 보유자 수 트렌드

마지막으로 연령별 주택 보유자 수 추이를 확인하도록 하겠다. 

 

df3=df[(df['성별']=='총계') & (df['연령대']!='총계') & (df['거주지역']=='전국') ]
df3=df3.pivot('시점','연령대','주택소유자수(백만)')

plt.figure(figsize=(20,8))
plt.rcParams["font.family"] = 'Malgun Gothic'
plt.rcParams["font.size"] = 15

plt.plot(df3.index,df3['30세미만'],label='30세미만')
plt.plot(df3.index,df3['30~39세'],label='30~39세')
plt.plot(df3.index,df3['40~49세'],label='40~49세')
plt.plot(df3.index,df3['50~59세'],label='50~59세')
plt.plot(df3.index,df3['60~69세'],label='60~69세')
plt.plot(df3.index,df3['70~79세'],label='70~79세')
plt.plot(df3.index,df3['80세이상'],label='80세이상')

plt.title('연령별 주택소유자수(백만)',fontsize=25)
plt.legend(loc = 'upper left')

60대, 50대, 40대, 70대 주택 소유자 수는 증가하고 있는 반면 30세 미만과 30대 주택 보유자 수는 굉장히 지지부진한 점을 확인할 수 있다.