반응형
1. 데이터 구득
https://kimhongsi.tistory.com/223
에서 부동산 데이터를 내려받는다.
혹은 본 데이터를 받는다.
2. Python 코드
1) 데이터 불러오기 및 전처리
# 캐나다 뉴질랜드 홍콩 영국 데이터 불러오기
df_fred = pd.read_csv('./data/캐나다뉴질랜드홍콩영국.csv', skiprows =13)
df_fred
# 2006년 이후 데이터만 불러오기
df_fred_ = df_fred.iloc[151:217]
df_fred_
# 결측치 제거
df_fred_.dropna(axis=0)
결측치는 없었습니다.
2) matplotlib를 활용한 시각화
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.ticker import MultipleLocator, IndexLocator, FuncFormatter
from matplotlib.dates import MonthLocator, DateFormatter
# 1. 기본 스타일 설정
plt.style.use('default')
plt.rcParams['figure.figsize'] = (15, 5)
plt.rcParams['font.size'] = 12
# 2. 데이터 준비
x = df_fred_.observation_date
y1 = df_fred_.캐나다
y2 = df_fred_.뉴질랜드
y3 = df_fred_.홍콩
y4 = df_fred_.영국
# 3. 그래프 그리기
fig, ax1 = plt.subplots()
# y1 : 캐나다 인덱스에 대한 값
ax1.plot(x, y1, '-s', color='red', markersize=3, linewidth=3, alpha=0.7, label='Canada')
# y2 : 뉴질랜드 인덱스에 대한 값
ax1.plot(x, y2, '-s', color='green', markersize=3, linewidth=3, alpha=0.7, label='New Zealand')
# y3 : 홍콩 인덱스에 대한 값
ax1.plot(x, y3, '-s', color='pink', markersize=3, linewidth=3, alpha=0.7, label='Hongkong')
# y4 : 영국 인덱스에 대한 값
ax1.plot(x, y4, '-s', color='navy', markersize=3, linewidth=3, alpha=0.7, label='UK')
ax1.set_xlabel('Year')
ax1.set_ylabel('price')
ax1.tick_params(axis='both', direction='in')
# set_zorder() 메서드는 z-축 방향의 순서를 지정
# zorder가 낮을수록 먼저 그려지고, zorder가 높을수록 나중에 그려짐
ax1.set_zorder(ax2.get_zorder() + 10)
ax1.patch.set_visible(False)
ax1.legend(loc='upper left')
loc = matplotlib.ticker.LinearLocator(numticks = 12)
ax1.xaxis.set_major_locator(loc) ## 5개월마다 메인 눈금을 표시한다.
plt.show()
반응형
댓글