아파트 실거래가 데이터 시각화 대시보드

소개

아파트 매매와 전세 실거래가 데이터를 Streamlit 라이브러리를 활용하여 시각화해보았습니다.

당연히 데이터는 먼저 공공데이터포털에서 API를 활용하여 수집해서 전처리 후 DB에 저장했습니다.

진행 방법

데이터 수집

공공데이터포털 에서 아파트 실거래가를 검색한 후에 활용 신청하면 API Key를 받을 수 있습니다. API Key는 Encoding, Decoding Key 두 개가 발급되는데, AI에게는 수집하고자 하는 데이터와 Decoding Key값을 알려주면 됩니다. 그러면 수집은 바로 됩니다.

파란색 배경의 웹사이트 스크린샷

데이터 전처리

공공데이터포털에서 수집된 데이터는 주소가 파싱이 안되어 있어서 전처리가 필요합니다. 시도/시군구/법정동으로 구분되어야 대시보드를 만들더라도 선택이 가능하기에 주소 파싱을 해야합니다. AI에게 아래와 같이 주소를 파싱해달라고 요청합니다.

- 원본 시군구 컬럼(예: "서울특별시 강남구 압구정동")을 시도 / 시군구 / 읍면동으로 분리

데이터 시각화

Streamlit 라이브러리를 활용해서 시각화 대시보드를 구현했고, 지역, 단지, 거래유형을 선택해서 조회해볼 수 있습니다.

대시보드는 한번에 원하는 결과를 바로 구현하기는 어렵습니다. 그래서 프롬프트 입력할 때 대시보드를 만들기 위한 요구사항을 구체적으로 적으면 좋습니다. 물론 그렇게 한다고 해도 한번에 딸깍 완성되는 건 아니라서 수차례 티키타카는 필요합니다.

아래 프롬프트 참조해보세요.

### 시각화

#### 뷰 1: 개별 실거래가 (산점도 + 거래량)
매매 가격 → 전세 가격 → 매매 거래량 → 전세 거래량 순서로 4행 분리 배치한다. X축(시간)은 모든 행이 공유한다.
- 가격 행: 산점도(scatter). 개별 거래를 점으로 표시. 같은 월의 점들이 겹치지 않도록 jitter(수평 흩뿌림)를 적용. 평형대별(10평대, 20평대, 30평대 등) 색상으로 구분
- 거래량 행: 막대(bar). 월별 거래 건수
- 거래유형 선택에 따라 매매만(2행), 전세만(2행), 또는 매매+전세(4행)로 자동 조정

#### 뷰 2: 평균 실거래가 (선 그래프 + 거래량)
뷰 1과 동일한 행 분리 배치.
- 가격 행: 선 그래프(line). 월별 중위가를 선으로 표시. 매매와 전세를 색상으로 구분. 선 위에 데이터 포인트 마커 표시
- 거래량 행: 막대(bar). 월별 거래 건수

#### 공통 사항

- 차트 크기는 충분히 크게 (가로 전체 너비, 세로 500px 이상)
- 호버 시 상세 정보 표시 (뷰 1: 단지명, 계약년월, 거래금액, 전용면적, 추정평형, 층 / 뷰 2: 중위가, 거래량, 해당 월)
- 범례 표시

### 사용자 인터페이스 (사이드바)

#### 뷰 전환
- 메인 영역 상단에서 뷰를 전환한다: "개별 실거래가", "평균 실거래가" (탭 또는 라디오 버튼)

#### 지역 선택 (계층적 필터)
- 시도: selectbox (단일 선택, 기본값: 서울특별시)
- 시군구: selectbox (시도 선택에 따라 목록 갱신, 기본값: 강남구)
- 읍면동: multiselect (시군구 선택에 따라 목록 갱신, 기본값: 전체)
- 단지: multiselect (읍면동 선택에 따라 목록 갱신, 기본값: 전체)

#### 거래유형 선택
- 매매+전세 함께 보기, 매매만, 전세만 (라디오 버튼, 기본값: 매매+전세)

#### 평형 필터
- 평형대: multiselect (10평 미만, 10평대, 20평대, 30평대, 40평대, 50평대, 60평 이상 / 기본값: 30평대)

#### 기간 선택
- 시작 연도 ~ 종료 연도 범위 슬라이더 (데이터 존재 범위 내에서 선택)
- 기본값: 전체 기간

#### 기타
- 직거래 포함 여부: 체크박스 (기본: 미포함)

### 메인 화면 추가 정보
차트 아래에 매매 기준 요약 정보를 표시한다. "전세만" 선택 시에는 요약 정보를 표시하지 않는다.
- 선택한 조건의 총 거래 건수
- 최근 거래가 (최근 3건)
- 기간 내 최고가 / 최저가
데이터 그래프를 보여주는 웹사이트의 스크린샷
1개의 답글

뉴스레터 무료 구독