전국 신규 민간 아파트 분양가격 동향 데이터 분석 - (1)
Data Analyst

빅데이터 관련 자료/Python

전국 신규 민간 아파트 분양가격 동향 데이터 분석 - (1)

carpe08 2022. 1. 14. 22:26
320x100
320x100

다루는 내용

  • 공공데이터를 활용해 전혀 다른 두 개의 데이터를 가져와서 전처리 하고 병합하기
  • 수치형 데이터와 범주형 데이터를 바라보는 시각을 기르기
  • 데이터의 형식에 따른 다양한 시각화 방법 이해하기

데이터셋

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

파이썬에서 쓸 수 있는 엑셀과도 유사한 판다스 라이브러리를 불러옵니다.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

 

데이터 시각화를 위한 폰트설정

한글폰트 사용을 위해 matplotlib의 pyplot을 불러옵니다

import matplotlib.pyplot as plt

plt.rc("font", family = "Malgun Gothic")
plt.rc("font", family = "Apple Gothic")
plt.rc("axes",unicode_minus=False)

 

데이터 로드

데이터 행 열 파악

df_last=pd.read_csv("주택도시보증공사_전국 평균 분양가격(2019년 12월).csv",encoding="cp949")
df_first=pd.read_csv("전국 평균 분양가격(2013년 9월부터 2015년 8월까지).csv",encoding="cp949")

df_last.shape
# (4335, 5)

df_first.shape
# (17, 22)

파일 미리보기

df_first.head()
df_last.head()
df_first.head()
df_last.tail()

데이터 요약하기

df_first.info()
df_last.info()

결측치 보기

df_first.isnull().sum()
df_last.isnull().sum()

데이터 타입 변경

df_last["분양가격(㎡)"]=pd.to_numeric(df_last["분양가격(㎡)"],errors='coerce') #강제로 바꾸기

평당 분양가격 구하기

df_last["평당분양가격"]=df_last["분양가격(㎡)"]*3.3

규모구분을 전용면적 컬럼으로 변경

df_last["전용면적"]=df_last["규모구분"].str.replace("전용면적","")
df_last["전용면적"]=df_last["전용면적"].str.replace("초과","~")
df_last["전용면적"]=df_last["전용면적"].str.replace("이하","")
df_last["전용면적"]=df_last["전용면적"].str.replace(" ","")
df_last["전용면적"]

필요없는 컬럼 제거하기

df_last = df_last.drop(["분양가격(㎡)"],axis=1)

group by로 데이터 집계하기

mean_price = df_last.groupby(['지역명'])['평당분양가격'].mean().sort_values(ascending=False)
mean_price.plot.bar(rot=0,title='지역별 평당 분양가격')

 

average_price = df_last.groupby(['전용면적'])['평당분양가격'].mean().sort_values(ascending=False)
average_price.plot.barh(rot=0,title="전용면적별 평단 분양가격")

`

g= df_last.groupby(["지역명","전용면적"])["평당분양가격"].mean().sort_values(ascending=True).unstack()
g.plot.bar(rot=0,figsize=(10,4))
plt.axhline(10000,linestyle=":") # 선그어주는 거

연도, 지역명으로 평당분양가격의 평균을 구합니다.

g=df_last.groupby(["연도","지역명"])["평당분양가격"].mean().sort_values(ascending=True).unstack("연도")
g.plot.bar(rot=0,figsize=(10,4))

g[["서울","경기","인천"]].plot(subplots=True,figsize=(10,4))

320x100
320x100