최근 10년간 출생아 수와 합계출산율이 어떻게 변화해왔는지 보려고 한다.
① 구글에 '출생아 수 합계출산율' 검색 → 여기에 들어가보니 우리에게 필요한 10년치 데이터가 딱 나옴 → 그대로 다운로드
② 역시 작업폴더에 파일을 넣고, 실제로 우리가 필요한 부분을 체크
→ 맨 위의 2행은 필요 없겠군. + nrows로 4,5행 두 줄만 가져오면 되겠어.
③ 판다스의
.read_excel
로 파일을 불러와 작업 수행 (아래에 계속)
필요에 맞게 데이터의 형태나 내용을 가공하여 시각화하기 알맞게 만듦.
skiprows
, nrows
, index_col
로 필요한 데이터를 적절히 불러옴.nrows
는 맨 첫 행을 column header로 인식한다는 거 잊지 말자!!.index
와 .index.values
를 출력해보니 유니코드가 숨어있었음..rename()
을 사용해 불필요한 유니코드를 제거함. + inplace=True
로 즉시 반영..T
: 데이터의 행과 열을 반전시킬 수 있음.plt.plot()
으로 그냥 그려봤는데, 두 데이터의 스케일 차이가 너무 심함.plt.subplots
를 활용하면, '합계출산율'에 맞는 y축을 따로 정의해줄 수 있음!.twinx()
: y축은 달라도 x축을 서로 공유하는 그래프를 그릴 수 있음.원래 사이트에서 제공하던 차트와 최대한 비슷하게 만들어봅시다^^
ax1.bar()
로 '출생아 수'는 막대그래프로 변환함..set_ylabel()
, .set_ylim()
, .set_yticks()
로 y축 각각을 비슷하게 설정함.fig.suptitle()
로 전체 제목 넣어줌.enumerate
에 그냥 데이터 값(df)을 넣고, plt.text()
써서 숫자 적어줌.enumerate
에서 rect
를 반환받아서 복잡하게 했었는데, 이렇게 하니까 좀 더 간단해짐 (<Matplotlib> 09차시 참고)ms
, lw
, mec
, mew
: 마커 크기, 선 굵기, 마커 테두리 색, 마커 테두리 굵기 설정함.사실 지금 위 사이트의 차트는 강의 시점과 인터페이스가 바뀌었다. 나는 그 인터페이스에 맞춰서도 따로 그려보았다.
loc
, fontsize
, mfc
등 세부적인 설정 활용)❓[5]
.rename
이 앞에서 배웠던.replace
와 어떤 차이가 있는 걸까..?
❓[14]
plt.subplots
에서 좌표 안 찍고 비워두면 어쩌자는 거지? 그냥 한 칸만 그린다는 건가? +plt.subplots
안 하면.twinx
도 못 쓰는 건가?https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=heygun&logNo=221520454294 참조!
❗엑셀 파일을 제공하는 곳에서 알 수 없는 문자열이 포함되어있을 수 있으니,
.index.values
를 잘 기억해둡시다! ➡️ 이렇게 문자열과 관련해서는 예상치 못한 오류들이 있을 수 있으니, 이럴 땐 숫자로 다루는iloc
가 좋은 대안이 되겠다! 기억하자!