[데이터 전처리] 시각화 - 라인 그래프

Bpius·2023년 10월 3일
0

데이터 EDA & 전처리

목록 보기
5/46
post-thumbnail

데이터를 시각화하기 위한 모듈로 matplotlib를 사용하여 다양한 그래프를 나타낼 수 있다.
대표적으로 라인, 산점도, 막대, 히스토그램, 박스 그래프 등이 있다.

jupyter notebook에서 %matplotlib inline을 설정하여 셀에 그래프를 바로 출력하여 확인할 수 있다.
아래와 같이 모듈을 불러와 셀에 직접 그릴 수 있도록 설정하고 plt란 키워드로 모듈을 사용하도록 한다.

import matplotlib.pyplot as plt
%matplotlib inline

matplotlib은 기본적으로 한글을 지원하지 않는다.
그래서 아래와 같이 직접 폰트 및 여러 옵션들을 설정할 수 있다.

rcParams['font.family']:폰트이름
rcParams['font.size']:폰트 크기
rcParams['figure.figsize']:(x, y)

기본 설정으로 폰트 이름과 글씨 크기, 그래프 크기 등을 조절 하거나 그래프를 그릴 때 마다 상황에 맞춰 그래프의 크기를 조절할 수 있다.

특정 폰트를 사용하는 것이 아니라 기본 한글만 출력이 되는 것으로 충분하다면 아래와 같이 koreanize_matplotlib 다운하여 import로 모듈을 불오기만 하면 다른 명령어 없이 matplotlib.pyplot 안에서 한글 출력도 간단히 쓸 수 있다.

!pip install koreanize_matplotlib

import koreanize_matplotlib

이제 라인 그래프를 그려보자.
날짜별 상품 판매 개수 데이터다.

일일 데이터로 정보가 입력되어 있기에 일자별로 그래프를 그리면 알 수 없는 복잡한 그래프가 그려질 것이다.
여기에서 plt.xticks는 눈금의 범위를 어떻게 나타낼 것인지 지정한다. 그래서 '축'.ticks(범위, 범위 이름)으로 지정하면 된다.
xticks 안에 ratation은 글자를 회전시킨다.
그리고 plot안 label은 말 그대로 label 이름을 지정하는 것이고 color은 선 그래프를 나타낼 때 선의 색상이다.(ex. r:빨강/g:녹색)

일자별로 살펴보기에는 그래프의 변동이 심하기에 '월' 기준으로 살펴보자.

먼저 날짜 부분을 '년-월-일' 형식을 '년', '월', '일'로 끊어서 월 기준으로 먼저 데이터를 분할한다.
Series의 str(문자) 검색을 통해서 나눈다.
split(분리할 기준, expand)를 사용할 것인데 expand(default=False)는 분할한 데이터를 어떤 형식으로 반환할 것인지 묻는다.

'월' 부분만 가져와서 기존의 데이터와 합친 후,'월'을 기준으로 groupby를 적용하여 상품별 합계를 통해서 데이터를 그려볼 것이다.
'plt'를 이용하지 않고 데이터 프레임에서 바로 컬럼을 축으로 삼아서 그래프를 간편히 그릴 수도 있다. plt는 제목이나 축 라벨 이름등 부가적인 환경만 설정하고 데이터 프레임의 축을 기준 삼아서 할 수도 있고 plt를 통해 그래프 설정까지 할 수도 있는데, 편한 방법을 찾아서 사용하면 된다.그리고 xticks를 추가하여 월별 추이를 살펴보자.
데이터 프레임 방식plt 방식

profile
데이터 굽는 타자기

0개의 댓글