KOSIS 국가통계포털
내가 본 통계표 최근 본 통계표 25개가 저장됩니다. 닫기
kosis.kr
국가통계포털(KOSIS)은 다양한 통계정보를 검색, 분석, 활용할 수 있도록 데이터를 제공한다. 해당 데이터는 누구나 이용 가능하며 엑셀 파일 형태로 다운로드 받을 수 있다.
이러한 데이터는 파이썬 matplotlib 모듈을 이용하여 여러가지 형태로 시각화 할 수 있는데, 해당 방법을 간단하게 정리하고자 한다.
먼저, KOSIS에 들어가서 시각화하고 싶은 데이터를 검색한다. 해당 포스팅에서는 출생아수의 통계 데이터로 실습한다.
위와 같은 화면에서 출생아수(시도/시/군/구
)를 클릭하면 아래와 같이 통계 데이터를 볼 수 있다.
원하는 데이터만 필터하여 조회할 수 있다. 오른쪽에 조회설정
버튼을 클릭한다.
남자와 여자를 합친 출생아수를 22년도 1월부터 12월까지 조회했다.
행렬전환을 통해 월별 단위로 행을 구성하고자 했다. 행렬전환
을 클릭한다.
마우스 드래그를 통해 마음대로 행렬을 구성할 수 있다. 원하는 구성으로 배치가 되었다면 적용
버튼을 클릭한다.
행렬이 잘 바뀌었고, 다운로드
버튼을 누른다.
EXCEL(xlsx)로 다운로드 한다.
다운로드가 잘 되었다.
데이터 시각화시, 첫 번째 행이 나타낼 데이터들의 필드명이다. 두번째 줄은 모두 동일한 단위이므로, 삭제한다.
삭제하면 위와 같은 엑셀 형태가 될 것이다.
pandas 모듈을 사용하여 엑셀 파일의 DataFrame을 불러오고, 이를 matplotlib.pyplot 모듈을 통해 적절하게 가공하여 그래프 형태로 띄워줄 수 있다.
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_excel('./출생아수_20240112221819.xlsx')
plt.rc('font', family='Gulim') # 한글 깨짐 방지
plt.title('출생아수')
plt.xticks(df.index, df['시점'])
plt.plot(df.index, df['서울특별시'], label='서울특별시(명)')
plt.plot(df.index, df['부산광역시'], label='부산광역시(명)')
plt.plot(df.index, df['경기도'], label='경기도(명)')
plt.plot(df.index, df['대구광역시'], label='대구광역시(명)')
plt.plot(df.index, df['인천광역시'], label='인천광역시(명)')
plt.plot(df.index, df['강원도'], label='강원도(명)')
plt.legend()
plt.show()
모든 지역을 나타내면 그래프가 상당히 많아지기 때문에, 임의의 지역 6개만 그래프에 나타냈다.
xticks를 이용하여 x축의 눈금을 시점별로 설정해주었다.
간단하게 시각화 성공!
위 그래프는 꺽은선 그래프이다. plt는 이 말고도 막대 그패프로도 표현할 수 있다.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('./출생아수_20240113111434.xlsx')
plt.rc('font', family='Gulim')
plt.title('출생아수')
plt.xticks(df.index, df['시점'])
bar_width = 0.2 # 각 막대의 폭
plt.bar(df.index - bar_width * 2, df['서울특별시'], width=bar_width, label='서울특별시(명)')
plt.bar(df.index - bar_width, df['부산광역시'], width=bar_width, label='부산광역시(명)')
plt.bar(df.index, df['경기도'], width=bar_width, label='경기도(명)')
plt.bar(df.index + bar_width, df['대구광역시'], width=bar_width, label='대구광역시(명)')
plt.legend()
plt.show()
막대 그래프의 경우, 별 지정 없이 하게 되면 막대가 겹치게 된다. 따라서 각 항목의 width를 지정하여 시작 위치를 지정해주는 작업이 추가 된다.
막대 그래프로 데이터가 예쁘게 시각화 된 것을 볼 수 있다.
본 포스팅에서 통계청의 데이터를 그래프로 띄우는 전체적인 방법을 정리했다. 간단한 시각화만 진행했지만, matploitlib는 더 많은 형태의 그래프로 데이터를 시각화 할 수 있다.
아래 링크에서 matploitlib 모듈에 관련된 여러 방법을 확인할 수 있다. 상황에 맞게 참고하여 잘 사용하여 데이터를 시각적으로 표현하는 능력도 향후 매우 도움이 될 것 같다!
Pyplot tutorial — Matplotlib 3.8.2 documentation
text can be used to add text in an arbitrary location, and xlabel, ylabel and title are used to add text in the indicated locations (see Text in Matplotlib for a more detailed example) All of the text functions return a matplotlib.text.Text instance. Just
matplotlib.org
01. Matplotlib 기본 사용
 Matplotlib 라이브러리를 이용해서 그래프를 그리는 일반적인 방…
wikidocs.net