Intro

최근 이사할 집을 알아보면서 데이터를 이용해서 분석을 해보면 좀더 좋은 방을 찾을 수 있을것이라는 생각에 서울 구별 원룸/오피스텔 전세 매물 분석을 해보았다.
데이터는 직방 사이트에서 수집하였으며 기준일은 2022년 9월 25일이다. 데이터셋은 코어닷투데이라는 데이터분석 플랫폼에 업로드 해놓았다.

Import Data

  • coredotdata 라이브러리를 통해 위에 올려놓은 데이터를 다운받을 수 있다.(pip install coredotdata)
    import pandas as pd
    import pickle
    from tqdm import tqdm
    from glob import glob
    import re
    import cufflinks as cf
    import plotly.express as px
    cf.go_offline()
    import coredotdata as cdd
    cdd.download_dataset("1W517jrj")
    room_info = pd.read_csv('dataset/room_info_220925.csv')
    

    EDA

    서울 구별 전세 비율

    charter_ratio = room_info.groupby('local2').apply(lambda x:sum(x['sales_type'] == '전세')/len(x))  # 구별 월세 비율
    charter_ratio.sort_values().iplot(kind='bar', title="서울 구별 전세 비율")
    

  • 그래프의 왼쪽에 있는 강남구, 강북구, 노원구 등은 월세의 비율이 높다.
  • 반대로 오른쪽에 있는 양천구, 은평구, 강서구 등은 전세의 비율이 높다.

서울 지역별 전세보증금

room_info['random_lat'] = room_info.apply(lambda x:x['random_location'].split(',')[0], axis=1)
room_info['random_long'] = room_info.apply(lambda x:x['random_location'].split(',')[1], axis=1)

room_charter = room_info[room_info['sales_type'] == '전세'].reset_index(drop=True)
roo_charter_for_geo_plot = room_charter[room_charter['보증금액'] < 50000].copy()
roo_charter_for_geo_plot['size'] = roo_charter_for_geo_plot['전용면적_m2'] ** 1.6
fig = px.scatter_mapbox(roo_charter_for_geo_plot, lat="random_lat", lon="random_long",
                         zoom=10, height=500, color='보증금액', size='size', opacity=0.3)
fig.update_layout(mapbox_style="carto-positron")
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

이상치 제거를 위해 전세가 5억미만인 데이터만 plotting에 사용하였다. Geo plot

  • 노란색에 가까울수록 전세보증금이 높고, 파란색에 가까울수록 전세보증금이 낮음
  • 점의 크기가 클수록 전용면적($m^2$)이 큼

About Plot

  • 강남, 서초, 강동구쪽이 대체로 전세보증금이 높다.
  • 영등포구, 관악구, 강서구쪽이 대체로 전세보증금이 낮고, 전용면적도 넓다.

서울 지역별 월세

room_monthly = room_info[room_info['sales_type'] == '월세'].reset_index(drop=True)
roo_monthly_for_geo_plot = room_monthly[room_monthly['월세금액'] < 300].copy()
roo_monthly_for_geo_plot['size'] = roo_monthly_for_geo_plot['전용면적_m2'] ** 1.6

fig = px.scatter_mapbox(roo_monthly_for_geo_plot, lat="random_lat", lon="random_long",
                         zoom=10, height=500, color='월세금액', size='size', opacity=0.3)
fig.update_layout(mapbox_style="carto-positron")
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

이상치 제거를 위해 월세가 300만원 미만인 데이터만 plotting에 사용하였다. Geo plot

  • 300만원 이하의 월세 매물만 고려
  • 노란색에 가까울수록 월세가 높고, 파란색에 가까울수록 월세가 낮음
  • 점의 크기가 클수록 전용면적($m^2$)이 큼

About Plot

  • 강남쪽이 대체로 월세가 높다.

마무리

대략적으로 서울의 지역별 전세비율 분포나, 전세 및 월세 매물 분포를 살펴보았다.
이번 포스트에 기재된 내용 말고도 추가적으로 분석한 내용은 아래 코어닷투데이 사이트에 있는 포스트에서 추가로 확인할 수 있으니 많은 이용 바란다.(interactive한 plot기능도 제공)
서울 구별 원룸/오피스텔 전세매물 분석(직방 데이터분석 1편)
서울 구별 원룸/오피스텔 월세매물 분석 및 데이터 모델링 실습(직방 데이터분석 2편)