In [1]:
# Import libraries
import pandas as pd
In [2]:
# Load csv file
df = pd.read_csv(
"./아파트(매매)_실거래가_20250709002717.csv",
encoding="cp949",
)
df
Out[2]:
NO | 시군구 | 번지 | 본번 | 부번 | 단지명 | 전용면적(㎡) | 계약년월 | 계약일 | 거래금액(만원) | 동 | 층 | 매수자 | 매도자 | 건축년도 | 도로명 | 해제사유발생일 | 거래유형 | 중개사소재지 | 등기일자 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 서울특별시 성동구 상왕십리동 | 811 | 811 | 0 | 텐즈힐(2단지) | 55.200 | 202506 | 30 | 127,000 | - | 4 | 개인 | 개인 | 2014 | 마장로 137 | - | 중개거래 | 서울 성동구, 서울 송파구 | - |
1 | 2 | 서울특별시 노원구 상계동 | 451 | 451 | 0 | 한신2차 | 45.920 | 202506 | 30 | 30,000 | - | 4 | 개인 | 개인 | 1988 | 한글비석로48길 6 | - | 직거래 | - | - |
2 | 3 | 서울특별시 중랑구 묵동 | 396 | 396 | 0 | 이편한세상화랑대 | 84.956 | 202506 | 30 | 101,200 | - | 2 | 개인 | 개인 | 2017 | 숙선옹주로 45 | - | 중개거래 | 서울 중랑구 | - |
3 | 4 | 서울특별시 성북구 돈암동 | 609-1 | 609 | 1 | 한신 | 68.130 | 202506 | 30 | 65,500 | - | 11 | 개인 | 개인 | 1998 | 성북로4길 52 | - | 중개거래 | 서울 성북구 | - |
4 | 5 | 서울특별시 양천구 목동 | 925 | 925 | 0 | 목동신시가지7 | 66.600 | 202506 | 30 | 235,000 | - | 4 | 개인 | 개인 | 1986 | 목동로 212 | - | 중개거래 | 서울 양천구 | - |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
48794 | 48795 | 경상북도 상주시 신봉동 | 179-4 | 179 | 4 | 동아 | 84.830 | 202506 | 1 | 17,000 | - | 12 | 개인 | 개인 | 1991 | 상산로 147 | - | 중개거래 | 경북 상주시 | - |
48795 | 48796 | 경상북도 김천시 부곡동 | 1530 | 1530 | 0 | 부곡우방 | 84.990 | 202506 | 1 | 17,600 | - | 12 | 개인 | 개인 | 1999 | 부곡길 206 | - | 중개거래 | 경북 김천시 | - |
48796 | 48797 | 경상북도 영천시 망정동 | 116 | 116 | 0 | 영천망정4주공 | 49.790 | 202506 | 1 | 7,800 | 402 | 16 | 개인 | 개인 | 1998 | 동부로 14 | - | 중개거래 | 경북 영천시 | 25.06.16 |
48797 | 48798 | 경상북도 상주시 신봉동 | 603-1 | 603 | 1 | 명지3차 | 49.424 | 202506 | 1 | 10,550 | - | 8 | 개인 | 개인 | 2001 | 경상대로 2749-10 | - | 중개거래 | 경북 상주시 | - |
48798 | 48799 | 경상북도 상주시 신봉동 | 603-1 | 603 | 1 | 명지3차 | 59.804 | 202506 | 1 | 11,300 | 102 | 10 | 개인 | 개인 | 2001 | 경상대로 2749-10 | - | 중개거래 | 경북 상주시 | 25.06.27 |
48799 rows × 20 columns
In [3]:
# Drop unnecessary columns
df = df.drop(
columns=[
"NO",
"번지",
"본번",
"부번",
"단지명",
"동",
"층",
"도로명",
"중개사소재지",
"등기일자",
]
)
In [4]:
df.describe()
Out[4]:
전용면적(㎡) | 계약년월 | 계약일 | 건축년도 | |
---|---|---|---|---|
count | 48799.000000 | 48799.0 | 48799.000000 | 48799.000000 |
mean | 76.164064 | 202506.0 | 15.002275 | 2006.256173 |
std | 22.983061 | 0.0 | 8.064604 | 10.965883 |
min | 9.260000 | 202506.0 | 1.000000 | 1962.000000 |
25% | 59.895950 | 202506.0 | 8.000000 | 1997.000000 |
50% | 83.250000 | 202506.0 | 14.000000 | 2006.000000 |
75% | 84.960000 | 202506.0 | 21.000000 | 2017.000000 |
max | 273.940000 | 202506.0 | 30.000000 | 2025.000000 |
In [5]:
# Remove commas from '거래금액(만원)' and convert to float
df["거래금액(만원)"] = df["거래금액(만원)"].str.replace(",", "")
df["거래금액(만원)"] = df["거래금액(만원)"].astype(float)
# Create new column '면적당거래금액(㎡/만원)'
df["면적당거래금액(㎡/만원)"] = df["거래금액(만원)"] / df["전용면적(㎡)"]
In [6]:
# Split the address into words and store the first two in separate columns for geojson matching
df[["주소_1", "주소_2"]] = df["시군구"].str.split().str[:2].apply(pd.Series)
df["주소_1"] = df["주소_1"].replace("전북특별자치도", "전라북도")
In [7]:
df
Out[7]:
시군구 | 전용면적(㎡) | 계약년월 | 계약일 | 거래금액(만원) | 매수자 | 매도자 | 건축년도 | 해제사유발생일 | 거래유형 | 면적당거래금액(㎡/만원) | 주소_1 | 주소_2 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 서울특별시 성동구 상왕십리동 | 55.200 | 202506 | 30 | 127000.0 | 개인 | 개인 | 2014 | - | 중개거래 | 2300.724638 | 서울특별시 | 성동구 |
1 | 서울특별시 노원구 상계동 | 45.920 | 202506 | 30 | 30000.0 | 개인 | 개인 | 1988 | - | 직거래 | 653.310105 | 서울특별시 | 노원구 |
2 | 서울특별시 중랑구 묵동 | 84.956 | 202506 | 30 | 101200.0 | 개인 | 개인 | 2017 | - | 중개거래 | 1191.204859 | 서울특별시 | 중랑구 |
3 | 서울특별시 성북구 돈암동 | 68.130 | 202506 | 30 | 65500.0 | 개인 | 개인 | 1998 | - | 중개거래 | 961.397329 | 서울특별시 | 성북구 |
4 | 서울특별시 양천구 목동 | 66.600 | 202506 | 30 | 235000.0 | 개인 | 개인 | 1986 | - | 중개거래 | 3528.528529 | 서울특별시 | 양천구 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
48794 | 경상북도 상주시 신봉동 | 84.830 | 202506 | 1 | 17000.0 | 개인 | 개인 | 1991 | - | 중개거래 | 200.400802 | 경상북도 | 상주시 |
48795 | 경상북도 김천시 부곡동 | 84.990 | 202506 | 1 | 17600.0 | 개인 | 개인 | 1999 | - | 중개거래 | 207.083186 | 경상북도 | 김천시 |
48796 | 경상북도 영천시 망정동 | 49.790 | 202506 | 1 | 7800.0 | 개인 | 개인 | 1998 | - | 중개거래 | 156.657963 | 경상북도 | 영천시 |
48797 | 경상북도 상주시 신봉동 | 49.424 | 202506 | 1 | 10550.0 | 개인 | 개인 | 2001 | - | 중개거래 | 213.459048 | 경상북도 | 상주시 |
48798 | 경상북도 상주시 신봉동 | 59.804 | 202506 | 1 | 11300.0 | 개인 | 개인 | 2001 | - | 중개거래 | 188.950572 | 경상북도 | 상주시 |
48799 rows × 13 columns
In [8]:
df.to_csv(
"./realestate_processed.csv",
index=False,
encoding="cp949",
)