[부동산 | Phase2] 아파트 현황조사(고양시) - Python coding (1부)
지난 두 번의 포스팅에서는 데이터의 전처리 과정을 진행하였다.
이제 어느 정도 오류값이 정리된 데이터 파일을 가지고 시각화를 진행해 보도록 하겠다.
필자로서는 독자분들이 어느 정도 수준으로 Python을 알고 계시고, 현재 활용하고 계신지 알 수 없다. 다만, 이미 Python에 대해 매우 높은 수준의 활용능력을 가지고 계신 분들이라면 사실 이 글에 대한 관심도가 떨어질 수 밖에 없어 검색하여 들어오시지도 않으셨으리라 생각된다. 아마도 Python을 이제 공부하고 계시고, 어떻게 실제 데이터를 들고 활용할 것인지에 대해 공부 중이신 분들이 대부분 이시지 않을까 생각된다.
필자도 처음 Python을 익힐 때엔 파이썬에 관련한 포스팅을 올리신 블로거분들의 글들을 구글 검색으로 부단히 찾아 보았었다. 매번 찾을 때마다 느끼는 거였지만, 정말 내가 원하는 프로젝트에 딱 맞는 내용과 설명을 한번에 다 보여주는 포스팅은 단 하나도 없었다. 그래서 검색하고 또 검색해야 했다. 한 개 포스팅에서 참조할 수 있는 부분은 딱 1~2 줄... 그런식으로 여러개의 포스팅을 검색해 정보를 조합한 후에야 내가 원하는 정보를 취득하여 내 프로젝트를 진행할 수 있었다. 지금 이 글을 읽으시는 독자분들도 같은 과정을 경험하시는 과정 중에 오셨으리라 생각된다.
필자의 희망은 적어도 공공데이터를 분석하는 프로젝트를 진행하고 계신 독자분들은 이 글 저 글 부분적으로 참조하느라 수도 없이 검색하는 과정을 거치지 않고, 필자의 글 하나만으로도 프로젝트를 온전히 진행하실 수 있기를 바라는 마음 뿐이다. 겪어 보았더니 수고 스러웠기 때문이다. 답을 찾아내 가는 과정도 재미있긴 하지만, 시간이 꽤 많이 소요된다.
아무튼 파이썬의 기초에 관해서는 별도의 카테고리를 개설하여 가볍게 다루고, 실제 데이터를 가지고 주제별로 분석 과정을 하는 Phase 2 포스팅에서는 파이썬 기초 설명은 가급적 간략히만 하고, 실제 코딩과 그 코드의 작동에 대해서 주로 언급하도록 하겠다.
Pycharm (파이참)
필자는 파이썬 에디터로 파이참을 사용한다. 파이썬을 지원하는 다른 IDE도 많지만, 필자에겐 파이참이 가장 효과적인 툴로 여겨졌다. 파이참에 대해서는 파이썬 기초 카테고리에서 향후 별도로 다루도록 하겠다.
일단 파이참을 통해 프로젝트를 생성하고 파이썬 파일을 생성하자. 필자는 virtual environment환경에서 사전 라이브러리 패키지 설치 없이 아래와 같은 파일명으로 파이썬 파일을 생성 후 시작하겠다. 필요한 라이브러리 패키지는 생성된 프로젝트에 필요할 때마다 추가해 나갈 것이다. 독자 여러분께서도 프로젝트 생성 후 필자의 글에 따라, 하나씩 추가해 나가시길 추천 드린다. 아나콘다를 설치하고 시작하는 것이 좋지 않을까 의문이 생기실 것이다.. 하지만, 필자의 경험으로는 아나콘다는 무겁기만 할 뿐, 우리가 설계하고 있는 프로젝트에 아나콘다에 포함된 모든 패키지가 쓰이지 않기 때문에 추천하지 않는다. 정말 데이터 과학을 제대로 해볼 분들에게는 아나콘다가 유용하겠지만 실생활 데이터.. 그것도 빅데이터(빅데이터의 사전적 정의상 빅데이터로 불리기 위해서는 슈퍼컴퓨터 한 대로도 처리 못할 수준의 엄청난 크기를 자랑하는 데이터라고 함) 축에도 못 끼는 몇 백 행짜리 데이터를 공부 삼아 다룰 때엔 추천하지 않는다.
pdatimylife라는 이름을 가진 프로젝트를 생성하면 위처럼 폴더트리가 생성되어 진다. 필자는 APTstat_Goyang.py라는 파이썬 파일을 해당 프로젝트 폴더 루트에 생성하였다. 이제 코딩을 시작해 보자.
pd.read_csv()
먼저 우리가 들고 있는 파일은 CSV파일이다. 통계 진행에 있어, 파이썬에서 데이터베이스를 다룰 때엔 pandas를 주로 사용한다. 기본적으로 pandas 태생 자체가 데이터베이스를 효율적으로 다루기 위함이기에 csv 파일과 같은 데이터베이스 파일을 보다 쉽게 불러오도록 함수 제공을 기본으로 한다. 따라서, pandas 를 우선 설치하고 pandas 모듈 함수를 통해 csv를 읽어 오자.
코드는 아래와 같다.
import pandas as pd
apt_Goyang = pd.read_csv('C:\\Users\\LG\\Desktop\\example\\APTstat_Goyang.csv', encoding="euc-kr")
print(apt_Goyang)
파이썬 한글 encoding 문제, encoding='euc-kr'
그런데, 필자도 한참 애먹은 에러가 있었다. 바로 데이터가 한글이라는 것이다. 한글 encoding에 관련한 문제는 한글 데이터를 다룰 때에 꽤 많이 나타난다고 한다. 사실 필자가 파이썬을 익힐 때엔 한글 데이터 쓰는 일이 거의 없어서 겪어보지 못했기에 한참을 구글링 해야 했다. 결국 encoding='euc-kr'이라고 하는 encoding에 관련한 옵션을 끼워 넣어주어 해결하였다.
우리가 다루는 공공데이터는 문자열(str)의 경우 당연히 대부분의 자료가 한글로 작성되어 있을 것이다. 이번에 깨달은 바를 토대로 같은 에러에서는 위와 같이 대처하자.
그리고 import pandas as pd 를 치면 pandas에 빨간색 물결 밑줄이 그어질 것이다. pandas가 아직 이 프로젝트에 설치되어 있지 않기 때문이다. alt + enter를 눌러 나오는 대화창에서 install package pandas를 누르면 설치가 진행될 것이다.
pandas로 csv를 읽어 들이면 데이터프레임의 형태로 자료를 인식하여 표출한다.
이제 print를 하면 다음과 같이 CSV를 정상적으로 읽어 들여 그 출력 결과를 얻을 수 있다.
이제 우리는 apt_Goyang이라고 이름 지어진 DataFrame을 갖게 되었다. DataFrame이 생성되었기에 pandas로 이 데이터를 얼마든지 가공이 가능해 졌다.
그렇다면 이제 우리는 이 자료로부터 기본적으로 어떤 내용을 파악하고 싶은지를 따져 보자.
이 자료에는 다음과 같이 총 13개의 series가 존재한다. Pandas에서는 우리가 알고 있는 열을 Series라고 표현한다.
구분 | 단지명 | 지번 | 도로명주소 | 사업승인일 | 사용검사일 | 건물유형 | 층수 | 동수 | 세대수 | 관리소전화 | fax | 연면적(㎡) | 승강기 |
데이터 분석자는 어떤 특정 목적을 가지고 그에 맞는 데이터를 수집하고 필요한 데이터만 추출하여 통계내게 된다.
필자는 단지 공공데이터의 활용도를 파악하고, Python 공부를 하기 위한 목적으로 접근하였기에 데이터로부터 얻고자 하는 특정 목적이 있는 것은 아니다.
다만, 아파트를 이제 구매하고자 하는 자의 입장에서라면 어떨까하는 가상 목적을 가지고 궁금한 부분을 뽑아보기로 하자.
데이터 분석 목적
(1) 행신동에 지은지 20년 이내 아파트 단지는 어떤 것이 있을까?
(2) 고양시 공동주택의 건물나이(건령)는 어느 정도 되었고, 어떤 분포를 가지고 있을까? 지은지 5년 이내 신규 아파트는 얼마나 될까?
(3) 공동주택 건물 유형별로 공급되어 있는 세대수는 얼마나 될까?
부동산 경매에 관심 있으신 분들이라면 이런 정보들이 투자 매력이 어느 정도 있는지에 대한 훌륭한 참조 지표가 된다.
이제 다음 포스팅에서는 '부동산 경매 입찰자'로 빙의하여 그 답들을 하나씩 찾아나가 보자.
(2부에서 계속...)
'파이썬(Python) > 고양시 아파트 현황 조사' 카테고리의 다른 글
[부동산 | Phase2] 아파트 현황조사(고양시) - Python pandas 기본 (4부) (0) | 2020.06.09 |
---|---|
[부동산 | Phase2] 아파트 현황조사(고양시) - Python pandas 기본 (3부) (0) | 2020.06.09 |
[부동산 | Phase2] 아파트 현황조사(고양시) - Python pandas 기본 (2부) (0) | 2020.06.09 |
[부동산 | Phase1] 아파트 현황조사(고양시) - Data Mining & Refining (2부) (0) | 2020.06.04 |
[부동산 | Phase1] 아파트 현황조사(고양시) - Data Mining & Refining (1부) (0) | 2020.06.03 |