[Jupyter] pandas matplotlib 한글 폰트 설치하기
카테고리: Python
Pandas로 한글 데이터 불러오기
pandas를 통해 한글이 포함된 csv를 불러오는 방법은 아래와 같다.
import pandas as pd
df = pd.read_csv('./data.csv', sep=',', encoding='utf-8')
df.head()
인코딩의 문제가 없으므로, 해당 파일의 head 부분을 잘 불러온다.
하지만, 이를 plot()함수를 이용하여 변환시키면 아래와 같이 인코딩이 깨져 네모로 표현된다.
해결 방법
기본적으로 Ubuntu에는 나눔글꼴이 설치되어 나오나, JupyterHub Docker Image에는 나눔글꼴이 설치되어 있지 않은 우분투 기반 Image이므로, 다음과 같은 명령어를 쉘에 입력하여 나눔글꼴을 설치한다.
sudo apt-get install fonts-nanum*
나눔글꼴을 설치하였다면, Jupyter로 돌아가 아래와 같이 폰트 캐시를 삭제한다.
import matplotlib
matplotlib.font_manager._rebuild()
이후 아래와 같이 rc함수와 plot함수를 이용하여 출력하면 한글이 깨지지 않고 출력된다.
from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname='/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf').get_name()
rc('font', family=font_name)
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')
df.plot()