한국은행 API에 가입하고 서비스 항목 중 100대 통계지표에 대해 데이터 수집하고 그래프로 확인해보겠습니다.
1. 인증키 신청
2. 인증키 확인
3. 100대 통계 지표 수집
1. 인증키 신청
사이트 접속 합니다.
우측 위에 인증키 신청을 클릭합니다.
동의를 선택하고 다음 버튼을 클릭합니다.
필요한 정보를 입력하고 다음을 인증키 신청을 클릭합니다.
참고로 저는 필수항목만 입력했습니다.
인증키 신청이 완료되었습니다.
2. 인증키 확인
사이트에서 우측위에 로그인 버튼을 클릭합니다.
로그인을 진행합니다.
상단 메뉴에 MyPage를 클릭합니다.
아래에서 인증키 확인이 가능합니다.
3. 100대 통계지표 수집
서비스 이용 -> 서비스 목록을 클릭합니다.
100대 통계 지표를 클릭합니다.
화면 하단에 샘플 URL을 클릭하면 아래의 화면에 나오는 url로 호출이 가능합니다.
sample 부분을 본인의 인증키 데이터로 변경하면 됩니다.
그럼 불러와 볼까요
#apikey='YOUR_APIKey'
import requests
url = 'https://ecos.bok.or.kr/api/KeyStatisticList/' + apikey + '/xml/kr/1/100'
response = requests.get(url)
print(response.content.decode('utf-8'))
json형태로 불러와 보겠습니다.
#apikey='YOUR_APIKey'
import requests
url = 'https://ecos.bok.or.kr/api/KeyStatisticList/' + apikey + '/json/kr/1/100'
response = requests.get(url)
result=response.json()
print(result)
result ['KeyStatisticList']['row']에 실제 데이터들이 들어있는 부분입니다.
result['KeyStatisticList']['row']
데이터 부분만 DataFrame으로 변환하겠습니다.
import pandas as pd
df=pd.DataFrame(result['KeyStatisticList']['row'])
df=df.astype({'DATA_VALUE':'float'})
df
DataFrame으로 변환하니 보기가 한결 편해진 것 같습니다.
CLASS_NAME으로 데이터를 나누고 각각에 대해서 그래프로 확인해보겠습니다.
import plotly.express as px
classnames=df['CLASS_NAME'].unique()
for classname in classnames:
df1=df.loc[df['CLASS_NAME']==classname]
fig = px.bar(data_frame=df1, x='KEYSTAT_NAME', y='DATA_VALUE',
color='KEYSTAT_NAME', text='DATA_VALUE')
fig.show()
각 CLASS_NAME별 항목들에 대한 그래프가 되겠습니다.
아래에 더 많은 데이터들이 있지만 양이 많이 생략하겠습니다.
한국은행 API 가입하고 100대 통계지표에 대해 데이터 수집하고 그래프로 확인해봤습니다.
'API' 카테고리의 다른 글
[fred yahoo API] 소비자심리지수와 S&P500, 달러인덱스, 금 데이터 비교하기 (4) | 2022.12.12 |
---|---|
[fred 한국은행 API] 한국과 미국의 장단기 금리차 비교하기 (6) | 2022.12.10 |
[FinanceDataReader] CAGR, MDD, 샤프지수,소르티노지수 계산 및 코스피 회사에 대한 결과 시각화 (4) | 2022.12.09 |
[FinanceDataReader] 주가 및 소르티노비율 소르티노지수(sortino) 계산 (4) | 2022.12.07 |
[FinanceDataReader] 주가 및 샤프비율 샤프지수(sharp) 계산 (9) | 2022.12.06 |