아파트 실거래가 Open_API

Open_API에서 원하는 정보를 가져와서 데이터프레임화 하는 과정을 진행해봤습니다.
데이터_소스:공공데이터 포털
위 사이트에서 활용신청을 하여 service_key를 받아야 진행 가능합니다.

아파트 실거래가 Open_API

import requests
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup
from urllib.request import urlopen
def apt_info(ym,lawd_cd):
    API_KEY = '본인이 받은 서비스키 '
    url = 'http://openapi.molit.go.kr/OpenAPI_ToolInstallPackage/service/rest/RTMSOBJSvc/getRTMSDataSvcAptTradeDev'
    url=url+"?&serviceKey="+API_KEY+"&pageNo=1"+"&numOfRows=1000"+"&LAWD_CD="+lawd_cd+"&DEAL_YMD="+ym

 
    # webbrowser.open(url)

    resultXML = urlopen(url)

    result = resultXML.read()

    xmlsoup = BeautifulSoup(result,'lxml-xml')

    te = xmlsoup.findAll('item')

    sil = pd.DataFrame()
    count = 0
    #te를 돌면서 필요한 부분을 돌면서 필요한 정보를 추출합니다.
    for t in te:
        deal_price = t.find("거래금액").text
        build_y = t.find("건축년도").text
        dong = t.find("법정동").text
        apt_nm = t.find("아파트").text
        size = t.find("전용면적").text
        # jibun이 없는 경우도 있기 때문에 있으면 text를 가져오고 없으면 공백을 넣습니다.
        try:
            jibun=t.find("지번").text
        except:
            jibun=""
 
        floor=t.find("층").text
        #for문 안에서 임시적으로 정보를 담는 temp라는 데이터 프레임을 생성하고
        temp = pd.DataFrame(([[build_y,dong,apt_nm,deal_price,size,jibun,floor]]), columns=["건축년도","법정동","아파트이름","거래금액","면적","지번","층수"])
        #sill과 temp를 합쳐 temp에 있던 정보들을 sil에 저장한다고 생각하면 됩니다.
        sil=pd.concat([sil,temp])
        
    sil=sil.reset_index(drop=True)
    
    return sil
    
df = apt_info('201909','11680')
df['거래금액'] = df['거래금액'].str.replace(',','')
df['거래금액'] = pd.to_numeric(df['거래금액'])
df['면적'] = pd.to_numeric(df['면적'])
df1 = pd.DataFrame()
a = df[['아파트이름','거래금액']].groupby('아파트이름').mean()
b = df[['법정동','아파트이름','거래금액','면적']].groupby(['법정동','아파트이름'],as_index=False).sum()
df1 = pd.concat([df1,a])
df1.rename(columns={'거래금액':'평균거래금액'},inplace=True)
df_final = pd.merge(b,df1,on='아파트이름',how='inner')
df_final
법정동 아파트이름 거래금액 면적 평균거래금액
0 개포동 개포주공 1단지 2114000 512.5100 211400
1 개포동 개포주공 3단지 165000 35.6400 165000
2 개포동 개포주공 5단지 195000 83.1700 195000
3 개포동 개포주공 6단지 492600 193.2800 164200
4 개포동 경남2차 257000 182.2000 257000
5 개포동 래미안블레스티지 487000 198.9100 243500
6 개포동 삼익대청아파트 222000 99.5300 111000
7 개포동 새롬(1164-13) 58000 59.6700 58000
8 개포동 성원대치2단지아파트 351900 132.7200 87975
9 논현동 마일스디오빌 38700 36.2900 38700
10 논현동 쌍용 77000 59.9100 77000
11 논현동 이산 35000 62.1000 35000
12 대치동 대치아이파크 266000 114.9700 266000
13 대치동 대치현대 132000 59.8200 132000
14 대치동 동양 83500 98.7300 83500
15 대치동 래미안대치팰리스 279800 84.9700 279800
16 대치동 아름빌(889-74) 29000 30.4600 29000
17 대치동 은마 178000 76.7900 178000
18 대치동 한티(933-0) 101500 116.2100 101500
19 도곡동 도곡쌍용예가 185500 112.1300 185500
20 도곡동 우성4 269000 152.7400 269000
21 도곡동 우성캐릭터199 327500 297.9100 163750
22 도곡동 타워팰리스2 239000 160.1700 239000
23 도곡동 타워팰리스3 260000 163.5670 260000
24 도곡동 한신엠비씨 136500 84.7400 136500
25 삼성동 LG선릉에클라트(A) 34000 36.1600 34000
26 삼성동 롯데캐슬프레미어 514000 315.2450 257000
27 삼성동 미켈란107 133000 83.0000 133000
28 삼성동 미켈란147 139000 83.6900 139000
29 삼성동 삼성동롯데아파트 130500 59.4000 130500
30 삼성동 삼성동힐스테이트 1단지 309000 115.6380 154500
31 삼성동 삼성파크 153000 107.3800 153000
32 삼성동 포스코트 180000 154.2400 180000
33 세곡동 강남엘에이치1단지 292800 194.5200 97600
34 수서동 강남데시앙포레 165000 101.8100 165000
35 수서동 까치마을 136000 68.8800 68000
36 신사동 로데오현대 159000 110.1600 79500
37 압구정동 한양6 230000 106.7100 230000
38 압구정동 현대14차(203,204,205,206동) 250000 84.9800 250000
39 압구정동 현대7차(73~77,82,85동) 349000 157.3600 349000
40 압구정동 현대8차(성수현대:91~95동) 235000 111.5000 235000
41 역삼동 e-편한세상 362000 144.5970 181000
42 역삼동 강남서해더블루 91000 84.8000 91000
43 역삼동 강남역우정에쉐르 19800 17.1300 19800
44 역삼동 개나리래미안 198000 129.8000 198000
45 역삼동 금호어울림 264800 217.8300 132400
46 역삼동 대우디오빌 63000 59.5050 63000
47 역삼동 로얄빌리지 72000 80.6400 72000
48 역삼동 역삼디오슈페리움 61000 46.9000 61000
49 역삼동 역삼푸르지오 155000 59.8848 155000
50 역삼동 탑팰리스 85000 84.9700 85000
51 역삼동 한화진넥스빌 35000 39.2000 35000
52 일원동 래미안 개포 루체하임 390000 161.9600 195000
53 자곡동 래미안강남힐즈 147000 101.9400 147000
54 자곡동 래미안포레 136000 101.5100 136000
55 청담동 청담스위트 24000 13.4250 24000
56 청담동 청담자이 172000 49.6390 172000
57 청담동 휴먼스타빌 57000 35.9050 57000
df_final['단위금액'] = df_final['금액합계'] / df_final['면적합계']
df_final = df_final.rename(columns={'거래금액':'금액합계','면적':'면적합계'})
df_final
법정동 아파트이름 금액합계 면적합계 평균거래금액 단위금액
0 개포동 개포주공 1단지 1668000 412.3100 208500 4045.499745
1 개포동 개포주공 3단지 165000 35.6400 165000 4629.629630
2 개포동 개포주공 5단지 195000 83.1700 195000 2344.595407
3 개포동 개포주공 6단지 337300 133.1500 168650 2533.233196
4 개포동 경남2차 257000 182.2000 257000 1410.537870
5 개포동 래미안블레스티지 487000 198.9100 243500 2448.343472
6 개포동 삼익대청아파트 222000 99.5300 111000 2230.483271
7 개포동 새롬(1164-13) 58000 59.6700 58000 972.012737
8 개포동 성원대치2단지아파트 351900 132.7200 87975 2651.446655
9 논현동 쌍용 77000 59.9100 77000 1285.261225
10 논현동 이산 35000 62.1000 35000 563.607085
11 대치동 대치아이파크 266000 114.9700 266000 2313.647038
12 대치동 대치현대 132000 59.8200 132000 2206.619860
13 대치동 동양 83500 98.7300 83500 845.740910
14 대치동 아름빌(889-74) 29000 30.4600 29000 952.068286
15 대치동 은마 178000 76.7900 178000 2318.010158
16 대치동 한티(933-0) 101500 116.2100 101500 873.418811
17 도곡동 도곡쌍용예가 185500 112.1300 185500 1654.329796
18 도곡동 우성4 269000 152.7400 269000 1761.162760
19 도곡동 우성캐릭터199 327500 297.9100 163750 1099.325300
20 도곡동 타워팰리스2 239000 160.1700 239000 1492.164575
21 도곡동 타워팰리스3 260000 163.5670 260000 1589.562687
22 도곡동 한신엠비씨 136500 84.7400 136500 1610.809535
23 삼성동 LG선릉에클라트(A) 34000 36.1600 34000 940.265487
24 삼성동 롯데캐슬프레미어 514000 315.2450 257000 1630.477882
25 삼성동 미켈란107 133000 83.0000 133000 1602.409639
26 삼성동 미켈란147 139000 83.6900 139000 1660.891385
27 삼성동 삼성동롯데아파트 130500 59.4000 130500 2196.969697
28 삼성동 삼성동힐스테이트 1단지 309000 115.6380 154500 2672.131998
29 삼성동 삼성파크 153000 107.3800 153000 1424.846340
30 삼성동 포스코트 180000 154.2400 180000 1167.012448
31 세곡동 강남엘에이치1단지 196000 134.6300 98000 1455.841937
32 수서동 강남데시앙포레 165000 101.8100 165000 1620.665946
33 수서동 까치마을 136000 68.8800 68000 1974.448316
34 신사동 로데오현대 159000 110.1600 79500 1443.355120
35 압구정동 현대7차(73~77,82,85동) 349000 157.3600 349000 2217.844433
36 역삼동 e-편한세상 362000 144.5970 181000 2503.509755
37 역삼동 강남역우정에쉐르 19800 17.1300 19800 1155.866900
38 역삼동 개나리래미안 198000 129.8000 198000 1525.423729
39 역삼동 금호어울림 264800 217.8300 132400 1215.626865
40 역삼동 대우디오빌 63000 59.5050 63000 1058.734560
41 역삼동 로얄빌리지 72000 80.6400 72000 892.857143
42 역삼동 역삼푸르지오 155000 59.8848 155000 2588.302875
43 역삼동 탑팰리스 85000 84.9700 85000 1000.353066
44 역삼동 한화진넥스빌 35000 39.2000 35000 892.857143
45 일원동 래미안 개포 루체하임 390000 161.9600 195000 2408.001976
46 자곡동 래미안강남힐즈 147000 101.9400 147000 1442.024720
47 자곡동 래미안포레 136000 101.5100 136000 1339.769481
48 청담동 청담자이 172000 49.6390 172000 3465.017426