1. 수집할 데이터
공공 데이터포털 (data.go.kr) 소개
공공데이터포털은 공공기관이 생성 또는 취득하여 관리하고 있는 공공데이터를 한 곳에서 제공하는 통합 창구입니다. 포털에서는 국민이 쉽고편리하게 공공데이터를 이용할 수 있도록 파일데이터, 오픈API, 시각화 등 다양한 방식으로 제공하고 있으며, 누구라도 쉽고 편리한 검색을통해 원하는 공공데이터를 빠르고 정확하게 찾을 수 있습니다.
공동주택 기본 정보제공 서비스
- 주소 : https://www.data.go.kr/data/15058453/openapi.do
- 설명 : (공동주택 기본정보)공동주택관리정보시스템에 가입한 단지의 기본정보 및 상세정보 제공
- 방법 : 단지코드를 이용해 단지명, 법정동주소, 분양형태, 난방방식, 건축물대장상 연면적, 동수, 세대수, 시공사, 시행사, 관리사무소연락처, 관리사무소팩스, 홈페이지주소, 단지분류, 도로명주소, 호수, 관리방식, 복도유형, 사용승인일, 관리비부과면적, 전용면적별 세대현황, 단지 전용면적합, 법정동코드를 조회할 수 있는 공동주택 기본 정보제공 서비스
위 주소에 들어가서 로그인 후 아파트 실거래 상세자료 활용신청을 진행한다.
약 10분 후 부터 api 호출할 수 있다.
- 요청변수(Request Parameter)
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
---|---|---|---|---|---|
서비스키 | serviceKey | 100 | 필 | 인증키(URL Encode) | 공공데이터포털에서 발급받은 인증키 |
단지코드 | kaptCode | 9 | 필 | A10027875 | 단지코드 |
- 출력결과(Response Element)
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
---|---|---|---|---|---|
결과코드 | resultCode | 2 | 필 | 00 | 00:성공 |
결과메시지 | resultMsg | 20 | 필 | NORMAL SERVICE | 결과메시지 |
단지코드 | kaptCode | 9 | 필 | A10027875 | 단지코드 |
단지명 | kaptName | 50 | 필 | 괴정 경성스마트W아파트 | 단지명 |
법정동주소 | kaptAddr | 200 | 필 | 부산광역시 사하구 괴정동 258 괴정 경성스마트W아파트 | 법정동주소 |
분양형태 | codeSaleNm | 50 | 옵 | 분양 | 분양형태 |
난방방식 | codeHeatNm | 50 | 옵 | 지역난방 | 난방방식 |
건축물대장상 연면적 | kaptTarea | 22 | 옵 | 19324.6751 | 건축물대장상 연면적(㎡) |
동수 | kaptDongCnt | 100 | 옵 | 3 | 동수 |
세대수 | kaptdaCnt | 22 | 옵 | 182 | 세대수 |
시공사 | kaptBcompany | 100 | 옵 | (주)경성리츠 | 시공사 |
시행사 | kaptAcompany | 100 | 옵 | (주)경성리츠 | 시행사 |
관리사무소연락처 | kaptTel | 20 | 옵 | 051-294-9363 | 관리사무소연락처 |
관리사무소팩스 | kaptFax | 20 | 옵 | 051-294-9364 | 관리사무소팩스 |
홈페이지주소 | kaptUrl | 100 | 옵 | 홈페이지주소 | |
단지분류 | codeAptNm | 50 | 옵 | 아파트 | 단지분류 |
도로명주소 | doroJuso | 365 | 옵 | 도로명주소 | |
호수 | hoCnt | 5 | 옵 | 182 | 호수 |
관리방식 | codeMgrNm | 50 | 옵 | 위탁관리 | 관리방식 |
복도유형 | codeHallNm | 50 | 옵 | 혼합식 | 복도유형 |
사용승인일 | kaptUsedate | 8 | 옵 | 20150806 | 사용승인일 |
관리비부과면적 | kaptMarea | 22 | 옵 | 15040.1634 | 관리비부과면적(㎡) |
전용면적별 세대현황 | kaptMparea_60 | 22 | 옵 | 182 | 60㎡ 이하 |
전용면적별 세대현황 | kaptMparea_85 | 22 | 옵 | 0 | 60㎡ ~ 85㎡ 이하 |
전용면적별 세대현황 | kaptMparea_135 | 22 | 옵 | 0 | 85㎡ ~ 135㎡ 이하 |
전용면적별 세대현황 | kaptMparea_136 | 22 | 옵 | 0 | 135㎡ 초과 |
대장 전용면적합계 | privArea | 22 | 옵 | 9014.0338 | 단지 전용면적합(㎡) |
법정동코드 | bjdCode | 10 | 옵 | 2638010100 | 법정동코드 |
공동주택 상세 정보제공 서비스
- 주소 : https://www.data.go.kr/data/15058453/openapi.do
- 설명 : (공동주택 기본정보)공동주택관리정보시스템에 가입한 단지의 기본정보 및 상세정보 제공
- 방법 : 단지코드를 이용해 단지코드, 단지명, 일반관리방식, 일반관리인원, 일반관리 계약업체, 경비관리방식, 경비관리인원, 경비관리 계약업체, 청소관리방식, 청소관리인원, 음식물처리방법, 소독관리방식, 소독관리 연간소독횟수, 소독방법, 건물구조, 수전용량, 세대전기계약방식, 전기안전관리자법정선임여부, 화재수신반방식, 급수방식, 승강기관리형태, 승강기대수, 주차대수(지상), 주차대수(지하), 주차관제.홈네트워크, CCTV대수, 부대.복리시설, 버스정류장 거리, 지하철호선, 지하철역명, 지하철역 거리, 편의시설, 교육시설을 조회할 수 있는 공동주택 상세 정보제공 서비스
위 주소에 들어가서 로그인 후 아파트 실거래 상세자료 활용신청을 진행한다.
약 10분 후 부터 api 호출할 수 있다.
- 요청변수(Request Parameter)
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
---|---|---|---|---|---|
서비스키 | ServiceKey | 100 | 필 | 인증키(URL Encode) | 공공데이터포털에서 받은 인증키 |
단지코드 | kaptCode | 9 | 필 | A15876402 | 단지코드 |
- 출력결과(Response Element)
항목명(국문) | 항목명(영문) | 항목크기 | 항목구분 | 샘플데이터 | 항목설명 |
---|---|---|---|---|---|
결과코드 | resultCode | 2 | 필 | 00 | 00:성공 |
결과메시지 | resultMsg | 20 | 필 | NORMAL SERVICE | 결과메시지 |
단지코드 | kaptCode | 9 | 필 | A15876402 | 단지코드 |
단지명 | kaptName | 50 | 필 | 신정삼성SH임대 | 단지명 |
일반관리방식 | codeMgr | 12 | 옵 | 위탁관리 | 일반관리방식 |
일반관리인원 | kaptMgrCnt | 10 | 옵 | 3.5 | 일반관리인원 |
일반관리 계약업체 | kaptCcompany | 30 | 옵 | (주)아주관리 | 일반관리 계약업체(자치관리일 경우 없을 수 있음) |
경비관리방식 | codeSec | 12 | 옵 | 위탁관리 | 경비관리방식 |
경비관리인원 | kaptdScnt | 10 | 옵 | 4 | 경비관리인원 |
경비관리 계약업체 | kaptdSecCom | 30 | 옵 | (주)삼우안전관리 | 경비관리 계약업체(자치관리일 경우 없을 수 있음) |
청소관리방식 | codeClean | 12 | 옵 | 위탁관리 | 청소관리방식 |
청소관리인원 | kaptdClcnt | 10 | 옵 | 2 | 청소관리인원 |
음식물처리방법 | codeGarbage | 15 | 옵 | 음식물쓰레기종량제 | 음식물처리방법 |
소독관리방식 | codeDisinf | 15 | 옵 | 위탁관리 | 소독관리방식 |
소독관리 연간 소독횟수 | kaptdDcnt | 10 | 옵 | 4 | 소독관리 연간 소독횟수 |
소독방법 | disposalType | 30 | 옵 | 도포식,분무식 | 소독방법 |
건물구조 | codeStr | 15 | 옵 | 철근콘크리트구조 | 건물구조 |
수전용량 | kaptdEcapa | 30 | 옵 | 800 | 수전용량 |
세대전기계약방식 | codeEcon | 10 | 옵 | 단일계약 | 세대전기계약방식 |
전기안전관리자 법정선임여부 | codeEmgr | 10 | 옵 | 위탁선임 | 전기안전관리자 법정선임여부 |
화재수신반방식 | codeFalarm | 10 | 옵 | P형 | 화재수신반방식 |
급수방식 | codeWsupply | 10 | 옵 | 부스타방식 | 급수방식 |
승강기관리형태 | codeElev | 12 | 옵 | 위탁관리 | 승강기관리형태 |
승강기대수 | kaptdEcnt | 10 | 옵 | 6 | 승강기대수(승객용+화물용+승객/화물+장애우+비상용+기타) |
주차대수(지상) | kaptdPcnt | 10 | 옵 | 35 | 주차대수(지상) |
주차대수(지하) | kaptdPcntu | 10 | 옵 | 142 | 주차대수(지하) |
주차관제.홈네트워크 | codeNet | 5 | 옵 | 무 | 주차관제.홈네트워크 |
CCTV대수 | kaptdCccnt | 10 | 옵 | 43 | CCTV 카메라 수 |
부대.복리시설 | welfareFacility | 200 | 옵 | 관리사무소, 노인정, 어린이놀이터, 휴게시설, 커뮤니티공간, 자전거보관소 | 부대시설 및 복리시설 |
버스정류장 거리 | kaptdWtimebus | 10 | 옵 | 5~10분이내 | 버스정류장 거리 |
지하철호선 | subwayLine | 50 | 옵 | 2호선, 5호선 | 지하철호선 |
지하철역명 | subwayStation | 50 | 옵 | 오목교역 | 지하철역명 |
지하철역 거리 | kaptdWtimesub | 10 | 옵 | 15~20분이내 | 지하철역 거리 |
편의시설 | convenientFacility | 500 | 옵 | 관공서(양천세무서) 병원(다민한의원, 신천호한의원) 백화점(목동현대백화점) 공원(양천공원) 기타(안양천) | 편의시설(관공서, 병원, 백화점, 대형상가, 공원, 기타) |
교육시설 | educationFacility | 500 | 옵 | 초등학교(신목) 중학교(목동) 고등학교(신목) | 교육시설(초등학교, 중학교, 고등학교, 대학교) |
2. 데이터 수집
요청 방법 : Rest API
매매 내역을 API 방식으로 제공하고 있다. google 홈페이지에 접속하고 싶을 때 브라우저에 https://google.com
를 치면 브라우저에 화면이 떠지는 것처럼 받고싶은 데이터를 지정된 양식에 맞춰서 요청하면 데이터가 받아지는 방식이다.
- 공동주택 기본 정보제공 서비스
http://apis.data.go.kr/1613000/AptBasisInfoService1/getAphusBassInfo?ServiceKey={개인서비스키}&kaptCode={단지코드}
- 공동주택 상세 정보제공 서비스
http://apis.data.go.kr/1613000/AptBasisInfoService1/getAphusDtlInfo?ServiceKey={개인서비스키}&kaptCode={단지코드}
위 URL에서 3가지 조건을 바꿔가며 검색할 수 있다.
- {개인서비스키} : 공공데이터포털에 활용신청하면 받을 수 있음.
- {단지코드} : 바로 직전 포스팅 내용에서 확인할 수 있다.
- 내 집 마련 프로젝트 2 - 공동주택 단지 목록제공 서비스
- 2021.11.19. 기준 서울시에 등록된 단지코드는 2,842개다
이렇게 완성된 url을 브라우저 url 입력하는 곳에 넣어서 확인해볼 수 있다.
python으로 빠르게 수집
1
2
3
4
5
6
import time
import requests
import xml.etree.ElementTree as ET
import pandas as pd
from tqdm import tqdm
1
2
3
4
5
6
7
8
9
10
11
12
def get_items(get):
root = ET.fromstring(get.content)
item_list = []
for child in root.find('body').find('items'):
elements = child.findall('*')
data = {}
for element in elements:
tag = element.tag.strip()
text = element.text.strip()
data[tag] = text
item_list.append(data)
return item_list
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
serviceKey = "################################공유하면안됨#################################"
BassInfo_url = "http://apis.data.go.kr/1613000/AptBasisInfoService1/getAphusBassInfo?ServiceKey={}&kaptCode={}"
BassInfo_parameters = ['bjdCode', 'codeAptNm', 'codeHallNm', 'codeHeatNm', 'codeMgrNm', 'codeSaleNm', 'doroJuso', 'hoCnt', 'kaptAcompany', 'kaptAddr', 'kaptBcompany', 'kaptCode', 'kaptDongCnt', 'kaptFax', 'kaptMarea', 'kaptMparea_135', 'kaptMparea_136', 'kaptMparea_60', 'kaptMparea_85', 'kaptName', 'kaptTarea', 'kaptTel', 'kaptUrl', 'kaptUsedate', 'kaptdaCnt', 'privArea']
BassInfo_columns = ["법정동코드", "단지분류", "복도유형", "난방방식", "관리방식", "분양형태", "도로명주소", "호수", "시행사", "법정동주소", "시공사", "단지코드", "동수", "관리사무소팩스", "관리비부과면적", "세대현황_85_135", "세대현황_135", "세대현황_60", "세대현황_60_85", "단지명", "건축물대장상연면적", "관리사무소연락처", "홈페이지주소", "사용승인일", "세대수", "단지전용면적합"]
DtlInfo_url = "http://apis.data.go.kr/1613000/AptBasisInfoService1/getAphusDtlInfo?ServiceKey={}&kaptCode={}"
DtlInfo_parameters = ['kaptCode', 'kaptName', 'codeMgr', 'kaptMgrCnt', 'kaptCcompany', 'codeSec', 'kaptdScnt', 'kaptdSecCom', 'codeClean', 'kaptdClcnt', 'codeGarbage', 'codeDisinf', 'kaptdDcnt', 'disposalType', 'codeStr', 'kaptdEcapa', 'codeEcon', 'codeEmgr', 'codeFalarm', 'codeWsupply', 'codeElev', 'kaptdEcnt', 'kaptdPcnt', 'kaptdPcntu', 'codeNet', 'kaptdCccnt', 'welfareFacility', 'kaptdWtimebus', 'subwayLine', 'subwayStation', 'kaptdWtimesub', 'convenientFacility', 'educationFacility']
DtlInfo_columns = ['단지코드', '단지명', '일반관리방식', '일반관리인원', '일반관리_계약업체', '경비관리방식', '경비관리인원', '경비관리_계약업체', '청소관리방식', '청소관리인원', '음식물처리방법', '소독관리방식', '소독관리_연간_소독횟수', '소독방법', '건물구조', '수전용량', '세대전기계약방식', '전기안전관리자법정선임여부', '화재수신반방식', '급수방식', '승강기관리형태', '승강기대수', '주차대수_지상', '주차대수_지하', '주차관제_홈네트워크', 'CCTV대수', '부대_복리시설', '버스정류장_거리', '지하철호선', '지하철역명', '지하철역_거리', '편의시설', '교육시설']
colrename = {k : v for k, v in zip(BassInfo_parameters + DtlInfo_parameters, BassInfo_columns + DtlInfo_columns)}
1
2
kaptCode = pd.read_csv("../data/공동주택 단지 목록제공 서비스.csv", dtype=str)
kaptCode.head()
시도 | 시군구 | 읍면동 | 법정동코드 | 단지코드 | 단지명 |
---|---|---|---|---|---|
서울특별시 | 종로구 | 사직동 | 1111011500 | A11005401 | 광화문풍림스페이스본 아파트 |
서울특별시 | 종로구 | 내수동 | 1111011800 | A11007001 | 경희궁의아침3단지 |
서울특별시 | 종로구 | 내수동 | 1111011800 | A11087101 | 경희궁의아침2단지 |
서울특별시 | 종로구 | 수송동 | 1111012400 | A11014001 | 로얄팰리스스위트 |
서울특별시 | 종로구 | 익선동 | 1111013300 | A11034001 | 현대뜨레비앙 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
fail = []
DataFrame = pd.DataFrame([])
for code in tqdm(kaptCode.단지코드.unique()):
try:
time.sleep(0.1)
items = {}
req = BassInfo_url.format(serviceKey, code)
get = requests.get(req)
BassInfo_items_list = get_items(get)
BassInfo_items_list = BassInfo_items_list[0]
for i in BassInfo_parameters:
if i in BassInfo_items_list:
items[i] = str(BassInfo_items_list[i])
else:
items[i] = "nan"
req = DtlInfo_url.format(serviceKey, code)
get = requests.get(req)
DtlInfo_items_list = get_items(get)
DtlInfo_items_list = DtlInfo_items_list[0]
for i in DtlInfo_parameters:
if i in DtlInfo_items_list:
items[i] = str(DtlInfo_items_list[i])
else:
items[i] = "nan"
items = pd.DataFrame([items])
DataFrame = pd.concat([DataFrame, items])
except:
print(req)
fail.append(code)
1
2
DataFrame = DataFrame.rename(columns=colrename)
DataFrame.head(1).T
0 | |
---|---|
법정동코드 | 1111011500 |
단지분류 | 주상복합 |
복도유형 | 복도식 |
난방방식 | 개별난방 |
관리방식 | 위탁관리 |
분양형태 | 분양 |
도로명주소 | 서울특별시 종로구 사직로8길 4 |
호수 | 744 |
시행사 | 사직1구역 도심 재개발조합 |
법정동주소 | 서울특별시 종로구 사직동 9 광화문풍림스페이스본 아파트 |
시공사 | 풍림산업(주) |
단지코드 | A11005401 |
동수 | 6 |
관리사무소팩스 | 027373399 |
관리비부과면적 | 114349.25 |
세대현황_85_135 | 335 |
세대현황_135 | 381 |
세대현황_60 | 0 |
세대현황_60_85 | 28 |
단지명 | 광화문풍림스페이스본 아파트 |
건축물대장상연면적 | 163862.09 |
관리사무소연락처 | 027373388 |
홈페이지주소 | www.spacebon.kr |
사용승인일 | 20080711 |
세대수 | 744 |
단지전용면적합 | 94981.45 |
일반관리방식 | 위탁관리 |
일반관리인원 | 13 |
일반관리_계약업체 | (주)타워피엠씨 |
경비관리방식 | 위탁관리(직영+위탁) |
경비관리인원 | 16 |
경비관리_계약업체 | nan |
청소관리방식 | 위탁관리(직영+위탁) |
청소관리인원 | 14 |
음식물처리방법 | 기타 |
소독관리방식 | 위탁관리 |
소독관리_연간_소독횟수 | 4 |
소독방법 | 도포식,분무식 |
건물구조 | 철골철근콘크리트구조 |
수전용량 | 6150 |
세대전기계약방식 | 종합계약 |
전기안전관리자법정선임여부 | 상주선임 |
화재수신반방식 | R형 |
급수방식 | 부스타방식 |
승강기관리형태 | 위탁관리 |
승강기대수 | 21 |
주차대수_지상 | 10 |
주차대수_지하 | 1405 |
주차관제_홈네트워크 | 유 |
CCTV대수 | 256 |
부대_복리시설 | 관리사무소, 보육시설, 문고, 주민공동시설, 어린이놀이터, 휴게시설, 커뮤니티공간, 자전거보관소, 기타 |
버스정류장_거리 | 5분이내 |
지하철호선 | 3호선 |
지하철역명 | 경복궁역 |
지하철역_거리 | 5~10분이내 |
편의시설 | 관공서(서울특별시청, 종로구청) 병원(서대문구보건소, 강북삼성병원, 적십자병원, 천연보건분소) 백화점(경복궁, 경희궁, 덕수궁) 공원(사직공원) 기타(서울시립어린이도서관) |
교육시설 | 초등학교(매동초,대신초) 중학교(배화여자중,청운중) 고등학교(배화여자고,덕성여고) 대학교(배화여자대,경기대, 상명대) |
결측치
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
(DataFrame == 'nan').sum()
법정동코드 0
단지분류 84
복도유형 68
난방방식 36
관리방식 68
분양형태 39
도로명주소 144
호수 74
시행사 0
법정동주소 0
시공사 0
단지코드 0
동수 68
관리사무소팩스 0
관리비부과면적 0
세대현황_85_135 11
세대현황_135 11
세대현황_60 11
세대현황_60_85 11
단지명 0
건축물대장상연면적 0
관리사무소연락처 0
홈페이지주소 0
사용승인일 40
세대수 11
단지전용면적합 1
일반관리방식 68
일반관리인원 120
일반관리_계약업체 397
경비관리방식 131
경비관리인원 127
경비관리_계약업체 656
청소관리방식 131
청소관리인원 129
음식물처리방법 203
소독관리방식 148
소독관리_연간_소독횟수 212
소독방법 434
건물구조 146
수전용량 142
세대전기계약방식 145
전기안전관리자법정선임여부 144
화재수신반방식 147
급수방식 147
승강기관리형태 179
승강기대수 160
주차대수_지상 134
주차대수_지하 136
주차관제_홈네트워크 144
CCTV대수 138
부대_복리시설 176
버스정류장_거리 80
지하철호선 178
지하철역명 753
지하철역_거리 193
편의시설 456
교육시설 449
dtype: int64
시공사 정보
데이터가 어쩔 수 없이 퀄리티가 낮은데, 간단하게 (주)
만 제거하고 시공사를 살펴보았다.
시공사 정보가 없는 아파트가 83개 정도 되는데, 네이버 부동산에서 찾아서 수동으로 입력해야 할 듯 하다.
1
DataFrame.시공사.apply(lambda x: x.replace("(주)", "")).value_counts().reset_index().head(10)
index | 시공사 |
---|---|
현대건설 | 164 |
삼성물산 | 128 |
현대산업개발 | 105 |
83 | |
대우건설 | 77 |
한신공영 | 74 |
대림산업 | 69 |
우성건설 | 65 |
롯데건설 | 60 |
두산건설 | 47 |
대단지 정보
1
2
3
4
5
6
7
DataFrame.세대수 = DataFrame.세대수.replace("nan", "0")
DataFrame.세대수 = DataFrame.세대수.astype(int)
tiny = [
"단지코드", "단지명", "법정동코드", "단지분류", "분양형태",
"호수", "동수", "세대수", "세대현황_60", "세대현황_60_85", "세대현황_85_135", "세대현황_135",
]
DataFrame[tiny].sort_values("세대수", ascending=False).head(10)
단지코드 | 단지명 | 법정동코드 | 단지분류 | 분양형태 | 호수 | 동수 | 세대수 | 세대현황_60 | 세대현황_60_85 | 세대현황_85_135 | 세대현황_135 |
---|---|---|---|---|---|---|---|---|---|---|---|
A10025850 | 헬리오시티아파트 | 1171010700 | 아파트 | 임대+분양 | 9510 | 84 | 9510 | 2854 | 5132 | 1500 | 24 |
A13824006 | 잠실파크리오 | 1171010200 | 아파트 | 분양 | 6864 | 66 | 6864 | 1388 | 4260 | 642 | 574 |
A13822004 | 잠실엘스아파트 | 1171010100 | 아파트 | 분양 | 5678 | 72 | 5678 | 1150 | 4042 | 486 | 0 |
A13822003 | 잠실리센츠 | 1171010100 | 아파트 | 분양 | 5563 | 65 | 5563 | 1113 | 3590 | 860 | 0 |
A13805002 | 올림픽선수기자촌아파트 | 1171011100 | 아파트 | 분양 | 5540 | 122 | 5540 | 0 | 2034 | 2728 | 778 |
A10025263 | 고덕 그라시움 아파트 | 1174010200 | 아파트 | 임대+분양 | 4932 | 53 | 4932 | 1964 | 2598 | 365 | 5 |
A13820201 | 올림픽훼밀리타운 | 1171010800 | 아파트 | 분양 | 4494 | 56 | 4494 | 0 | 1500 | 900 | 2094 |
A13583507 | 은마 | 1168010600 | 아파트 | 분양 | 4424 | 28 | 4424 | 0 | 4424 | 0 | 0 |
A10027817 | DMC파크뷰자이아파트 | 1141012000 | 아파트 | 임대+분양 | 4300 | 61 | 4300 | 1231 | 2522 | 423 | 124 |
A10025010 | 고덕 아르테온 아파트 | 1174010300 | 아파트 | 임대+분양 | 4066 | 41 | 4066 | 1220 | 2676 | 170 | 0 |
헬리오시티아파트는 정말로 크다.