-
데이터 시각화 08 - Matplotlib (인구 피라미드)빅데이터/Data Visualization 2022. 1. 24. 20:44
유투버 '나도코딩'님 강의 참조
인구 피라미드 시각화
01 실제 데이터 들고 오기
- 검색이 잘 되는지 확인을 한 후 엑셀 파일을 받고, 파일이 깨지지 않는지 확인 하자. 그리고 현재 작업하고있는 폴더에 넣어 주자!
- 데이터가 어디서 시작하는지 그리고 남/여 데이터가 어디서 나뉘는지 확인이 필요 하다
02 데이터 정제
▶ 남/녀 데이터를 구분짓는 정제 작업이 필요 하다
- 남자 데이터
- 주황색 부분은 필요가없고 파란색 부분이 필요하니 이에 맞게 불러 올때 작업을 해줘야 한다.
import pandas as pd df_m = pd.read_excel('201112_201112_연령별인구현황_월간.xlsx', skiprows=3, index_col='행정기관', usecols='B, E:Y') df_m
굿! ▶ 데이터를 쉽게 쓰기위해서 쉼표 처리
df_m.iloc[0] = df_m.iloc[0].str.replace(',','').astype(int)
- 여자 데이터도 같은 작업
df_w = pd.read_excel('201112_201112_연령별인구현황_월간.xlsx', skiprows=3, index_col='행정기관', usecols='B, AB:AV') df_w
하지만 여자 데이터가 세.1 이 붙는것을 볼 수 있다. 이것도 처리 하자 - 컬럼명 수정
df_w.columns = df_m.columns # 컬럼명 통일
▶ 쉼표 처리
df_w.iloc[0] = df_w.iloc[0].str.replace(',','').astype(int) df_w
03 시각화
- 데이터 준비는 끝났다. 시각화를 해 보자
* 기본 세팅
import matplotlib.pyplot as plt import numpy as np import pandas as pd # 한글 폰트 설정 import matplotlib matplotlib.rcParams['font.family'] = 'Malgun Gothic' # 윈도우 전용 matplotlib.rcParams['font.size'] = 15 #폰트 크기 matplotlib.rcParams['axes.unicode_minus'] = False
- 피라미드 그리기
plt.figure(figsize=(10, 7)) plt.barh(df_m.columns, -df_m.iloc[0] // 1000, label='남자') # 단위 천명 기준 plt.barh(df_w.columns, df_w.iloc[0] // 1000, label='여자') plt.title('2011 대한민국 인구 피라미드') plt.savefig('2011_인구피라미드.png', dpi=100) plt.legend();
▶ 남자의 데이터를 만대로 나오게 하기 위해 '-'를 준다
※ 이제 년도별 파일만 바꿔서 받고 이름만 바꿔주면 년도별로 피라미드를 만들 수 있다!
'빅데이터 > Data Visualization' 카테고리의 다른 글
데이터 시각화 09 - Matplotlib (출생아 수 및 합계 출산율) (0) 2022.01.24 데이터 시각화 07 - Matplotlib (산점도/여러그래프/퀴즈) (0) 2022.01.24 데이터 시각화 06 - Matplotlib (DF활용/누적 막대/다중 막대/원그래프) (0) 2022.01.22 데이터 시각화 05 - Matplotlib (저장/텍스트/여러 데이터/막대그래프) (0) 2022.01.21 데이터 시각화 04 - Matplotlib (기본/스타일) (0) 2022.01.21