데이터 수집)
- 실거래가 자료
ㅇ 액셀파일 다운로드 > 월별 자료 파이썬 로딩
apt_21_1 = pd.read_csv("./아파트(매매)__실거래가_21년1월.csv",encoding='cp949',skiprows = 15 ) apt_21_2 = pd.read_csv("./아파트(매매)__실거래가_21년2월.csv",encoding='cp949',skiprows = 15 ) apt_21_3 = pd.read_csv("./아파트(매매)__실거래가_21년3월.csv",encoding='cp949',skiprows = 15 ) apt_21_4 = pd.read_csv("./아파트(매매)__실거래가_21년4월.csv",encoding='cp949',skiprows = 15 ) apt_21_5 = pd.read_csv("./아파트(매매)__실거래가_21년5월.csv",encoding='cp949',skiprows = 15 ) apt_21_6 = pd.read_csv("./아파트(매매)__실거래가_21년6월.csv",encoding='cp949',skiprows = 15 ) |
* 올해 자료부터 과거분 데이터를 채워나갈 예정.
데이터 전처리)
- 간단한 파생변수 처리
apt_21_6['전용면적_평'] = apt_21_6['전용면적(㎡)'] / 3.305785 apt_21_6['거래금액(만원)'] = apt_21_6['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_6['평당가격'] = apt_21_6['거래금액(만원)'] / apt_21_6['전용면적_평'].astype('int') apt_21_5['전용면적_평'] = apt_21_5['전용면적(㎡)'] / 3.305785 apt_21_5['거래금액(만원)'] = apt_21_5['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_5['평당가격'] = apt_21_5['거래금액(만원)'] / apt_21_5['전용면적_평'].astype('int') apt_21_4['전용면적_평'] = apt_21_4['전용면적(㎡)'] / 3.305785 apt_21_4['거래금액(만원)'] = apt_21_4['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_4['평당가격'] = apt_21_4['거래금액(만원)'] / apt_21_4['전용면적_평'].astype('int') apt_21_3['전용면적_평'] = apt_21_3['전용면적(㎡)'] / 3.305785 apt_21_3['거래금액(만원)'] = apt_21_3['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_3['평당가격'] = apt_21_3['거래금액(만원)'] / apt_21_3['전용면적_평'].astype('int') apt_21_2['전용면적_평'] = apt_21_2['전용면적(㎡)'] / 3.305785 apt_21_2['거래금액(만원)'] = apt_21_2['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_2['평당가격'] = apt_21_2['거래금액(만원)'] / apt_21_2['전용면적_평'].astype('int') apt_21_1['전용면적_평'] = apt_21_1['전용면적(㎡)'] / 3.305785 apt_21_1['거래금액(만원)'] = apt_21_1['거래금액(만원)'].str.replace(',', '').astype('int') #형 변환 apt_21_1['평당가격'] = apt_21_1['거래금액(만원)'] / apt_21_1['전용면적_평'].astype('int') apt_21_1_6= pd.concat([apt_21_1, apt_21_2,apt_21_3,apt_21_4,apt_21_5,apt_21_6]) apt_21_1_6.head(2) |
- 마스터테이블 셋 구성
a = apt_21_1_6.groupby(['계약년월','시군구','단지명','전용면적_평','건축년도'],sort=True)['평당가격'].mean().sort_values(ascending=False) b = apt_21_1_6.groupby(['계약년월','시군구','단지명','전용면적_평','건축년도'],sort=True)['거래금액(만원)'].mean().sort_values(ascending=False) a = pd.DataFrame(a) b = pd.DataFrame(b) c = pd.concat([a,b], axis= 1) c.head() |
데이터 분석 및 결과)
- 21.6월 기준, 서울 3구 마용성 평균 실거래가는?
분석 코드) # 마포구 실거래가 확인 t = tt[ (tt['시군구'].str.contains('마포구')) & (tt['계약년월'] == 202106 )] a = t.sort_values(by=['거래금액(만원)'] ,ascending= False ) a.head(5) # 용산구 실거래가 확인 t = tt[ (tt['시군구'].str.contains('용산구')) & (tt['계약년월'] == 202106 )] a = t.sort_values(by=['거래금액(만원)'] ,ascending= False ) a.head(5) # 성동구 실거래가 확인 t = tt[ (tt['시군구'].str.contains('성동구')) & (tt['계약년월'] == 202106 )] a = t.sort_values(by=['거래금액(만원)'] ,ascending= False ) a.head(5) |
ㅇ 마포구
계약년월 | 시군구 | 단지명 | 전용면적_평 | 건축년도 | 평당가격 | 거래금액(만원) |
202106 | 서울특별시 마포구 아현동 | 마포래미안푸르지오4단지 | 34.56976 | 2014 | 6705.882 | 228000 |
202106 | 서울특별시 마포구 용강동 | 래미안마포리버웰 | 34.77843 | 2015 | 6470.588 | 220000 |
202106 | 서울특별시 마포구 신수동 | 신촌숲아이파크 | 25.68255 | 2019 | 7700 | 192500 |
202106 | 서울특별시 마포구 아현동 | 마포래미안푸르지오2단지 | 25.6798 | 2014 | 7360 | 184000 |
202106 | 서울특별시 마포구 용강동 | 래미안마포리버웰 | 25.70343 | 2015 | 7340 | 183500 |
ㅇ 용산구
계약년월 | 시군구 | 단지명 | 전용면적_평 | 건축년도 | 평당가격 | 거래금액(만원) |
202106 | 서울특별시 용산구 한남동 | 한남더힐 | 53.77361 | 2011 | 9811.321 | 520000 |
202106 | 서울특별시 용산구 이촌동 | LG한강자이 | 61.47103 | 2003 | 7131.148 | 435000 |
202106 | 서울특별시 용산구 이촌동 | 래미안첼리투스아파트 | 37.51605 | 2015 | 11621.62 | 430000 |
202106 | 서울특별시 용산구 서빙고동 | 신동아 | 63.60063 | 1984 | 6349.206 | 400000 |
202106 | 서울특별시 용산구 용산동5가 | 용산파크타워(24-1) | 47.89483 | 2009 | 8255.319 | 388000 |
ㅇ 성동구
계약년월 | 시군구 | 단지명 | 전용면적_평 | 건축년도 | 평당가격 | 거래금액(만원) |
202106 | 서울특별시 성동구 성수동1가 | 갤러리아 포레 | 73.09308 | 2011 | 8904.11 | 650000 |
202106 | 서울특별시 성동구 성수동1가 | 트리마제 | 25.65844 | 2017 | 13300 | 332500 |
202106 | 서울특별시 성동구 옥수동 | 한남하이츠 | 53.5788 | 1982 | 6179.245 | 327500 |
202106 | 서울특별시 성동구 옥수동 | 옥수파크힐스101동~116동 | 35.05975 | 2016 | 6228.571 | 218000 |
202106 | 서울특별시 성동구 옥수동 | 옥수하이츠 | 34.72095 | 1998 | 6352.941 | 216000 |
유사년도(2015~2016년)을 비교해보니 위의 요소로 보았을 경우 용산>마포>성동구 순으로 보여진다.
부동산 가격이라는게 위의 요소뿐만 아니라 입지요소(한강프리미엄, 학군, 슬세권, 백화점 등), 건설사 브랜드, 아파트 층수, 아파트 구조 등으로 이루어지겠지만...
아직은 코딩 기반의 분석과 시스템 개발쪽에 있어 많이 부족하지만
추후에는 API연동 시스템으로 웹 구축 및 실시간으로 시스템을 만들어 보다 빨리 분석할 수 있도록 만들어볼 예정이다.
계속 띄엄띄엄하느라 늦어지지만 이번달 시스템을 구축하는 것이 목표로 잡아볼까 한다.
시스템 개발과 분석 둘다 빠르게 할 수 있는 그날까지.. 화이팅