<aside> 💡 연구 주제

</aside>

우리가 투자 목적으로 집을 산다면 어느 지역에 집을 사야 할까?

<aside> 💡 주제


ABSTRACT

Untitled

Untitled

우리가 투자 목적으로 집을 산다면 어느 지역에 집을 사야 할까?

[부제]

<aside> ❗ 사전 정의


  1. 저희는 주제를 데이콘의 ‘월간 데이콘 한국 부동산 데이터 시각화 경진대회’를 기반으로 정하였습니다.
  2. 대회에서 제공하는 데이터는 다음과 같습니다.
- 지역별_지가변동률.csv
- 주택전세가격지수(KB).csv
- **주택매매가격지수(KB).csv**
- 주택건설인허가실적.csv
- **유형별 주택월세통합가격지수.csv**
- 아파트 실거래가격지수.csv
- **미분양주택현황.csv**
- 국내건설수주액.csv
- 건축허가현황.csv
  1. 투자는 원금 대비 몇 퍼센트의 수익률을 올렸는지가 중요합니다. 1억을 투자해서 2000만원 버는 것과, 백만원을 투자해서 20만원 버는 것은 같은 투자 실력을 가지고 있다고 말할 수 있듯이.
  2. 제공된 데이터에는 2017년 1월 1일의 가격을 기준으로(모두 100), 매년 비율의 변동이 나타나 있습니다. 따라서 저희는 지역에 따른 금액의 차이와 관계 없이 매매가격이 몇퍼센트나 올랐는지, 월세 가격의 변동에 따라 누적 월세 금액이 얼마인지를 합산하여 투자 원금 대비 수익률을 구하려고 합니다.
  3. 2018~2020 데이터를 사용해 월세를 받아 집값을 충당하는 월세수익률과 집값의 상승률을 고려하여 어느 지역이 가장 많은 수익률을 올렸는지 분석하였다. </aside>
import pandas as pd
from pandas.plotting import parallel_coordinates
import numpy as np
import pickle
import os

from matplotlib import pyplot as plt
from matplotlib import rc

import seaborn as sns
import warnings
warnings.filterwarnings(action='ignore')

필요 함수 정의

def df_to_line_graph(df,tit):
    # 한글깨짐 방지
    plt.rcParams['font.family'] = 'NanumBarunGothic'
    plt.rcParams['font.sans-serif'] = ['Arial']

    # 캔버스생성
    fig = plt.figure(figsize=(15, 10)) # 캔버스 생성
    fig.set_facecolor('white') # 캔버스 색상 설정

    # 그림 뼈대(프레임) 생성
    ax = fig.add_subplot()
    ax.set_xlabel("날짜")
    ax.set_ylabel("2019-01-01이 100일때")

    # x축 눈금설정
    size=len(df)
    a=size//12
    ax.set_xticks([12*i for i in range(a)])

    # 데이터추가
    cols=df.columns
    for col in cols:
        ax.plot(df[col],label=col) ## 선그래프 생성

    plt.legend() #범례
    plt.xticks(rotation=90) # x축 각도회전
    plt.title(tit,fontsize=20) # 타이틀설정

    plt.grid()

    plt.show()

def L_to_pie(L,cols,t):
    plt.title(t) #타이틀
    plt.pie(L, labels=cols, autopct='%.0f%%') #설정
    plt.show()

def returnName(s):
    indx=s.index("[")
    return s[:indx]

def cumulate_bar(df):
    exceptL=["전국[호]","수도권[호]"]
    cols=[col for col in df.columns if col not in exceptL]

    size=len(cols)
    lastSize=12

    a=[np.array(df[col][-1*lastSize:]) for col in cols]

    # 캔버스생성
    fig = plt.figure(figsize=(20, 10))

    # x축생성
    X=df.index[-1*lastSize:]

    myBar=[]
    # 막대그리기
    myBar.append(plt.bar(X,a[0]))
    for i in range(1,size):
        myBar.append(plt.bar(X,a[i],bottom=sum(a[:i])))

    # 기타
    ax = fig.add_subplot()
    ax.set_xlabel("날짜",fontsize=18)
    ax.set_ylabel("미분양주택(호)",fontsize=18)
    plt.title("최근 1년간 미분양주택현황",fontsize=25)

    cols=list(map(returnName,cols))
    plt.legend(myBar,cols)
    plt.show()

def df_to_pie(df,d):
    cols=df.columns
    exceptL=["전국[호]","수도권[호]"]

    cols=[col for col in df.columns if col not in exceptL]
    ratio=df.loc[d,cols]
    labels=list(map(returnName,cols))
    size=len(ratio)

    explode=[0.15 for i in range(size)]

    plt.title(d+" 미분양주택현황") #타이틀
    plt.pie(ratio, labels=labels, autopct='%.0f%%', explode=explode) #설정
    plt.show()

1.2.1 주택매매가격

house_price=pd.read_csv("주택매매가격지수(KB).csv",index_col = 0, encoding ='cp949')
house_price_df=house_price.iloc[:,:4]
house_price_df.columns=["총지수","단독주택","연립주택","아파트"]

display(house_price_df)
df_to_line_graph(house_price_df,"주택매매가격지수")

Untitled

Untitled

2015년까지 단독주택의 가격이 상대적으로 가장 높다가 이후 아파트의 가격이 가장 높아짐

1.2.2 주택전세가격

jonse_price=pd.read_csv("주택전세가격지수(KB).csv",  encoding ='utf-8')
jonse_price_df=house_price.iloc[:,:4]
jonse_price_df.columns=["총지수","단독주택","연립주택","아파트"]

display(jonse_price_df)
df_to_line_graph(jonse_price_df,"주택전세가격지수")

Untitled

Untitled

2015년까지 단독주택의 가격이 상대적으로 가장 높다가 이후 아파트의 가격이 가장 높아짐