일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 플로틀리
- 시계열시각화
- 시간형식
- np.split
- 크롤링자동화
- 시계열모듈
- 시계열데이터셋
- 확률
- pandas # 월말 날짜 # 마지막 주 # 날짜계산 # 시계열 # 마지막 주 금요일
- pandas
- 시계열분해
- stl
- loess
- seaborn # kdeplot # 데이터분석
- 오제이튜브
- 짧은 시계열 # 금융시계열
- adf_test
- 파이프라인전처리
- 날짜파싱
- 빈 데이터프레임 #pandas #데이터전처리
- 리눅스개념
- timeseries decomposition
- 이수역 양식집
- Python
- 시계열 #reindex #인덱스 확장 #datetime index #index extention # 데이터전처리
- 년월일 데이터
- 시간형식변환
- 음수값 #전처리 #선형보간 #pandas #데이터 #데이터분석
- 시계열
- 응용이 보이는 선형대수
- Today
- Total
데이터분석과 개발
[시계열 시각화] seaborn으로 시계열데이터 그려보기 본문
계절성을 비롯한 시계열 데이터 특성을 눈으로 확인하기 위해서는 시각화가 중요하다고 생각합니다.
matplotlib으로 그릴수도 있지만 좀 더 화려한 시각화를 하기 위해..! seaborn을 써서 기본적인 시계열 데이터 시각화를 정리해보려 합니다.
시각화 데이터는 월별 데이터입니다.
언뜻 보기엔 패턴이 있는거 같기도 하고 없는 거 같기도 하네요
계절적 특성이 있는 확인하기 위해 년도, 월 컬럼을 생성해 주겠습니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 계절성 확인을 위해 년도, 월 컬럼 생성
df['year'] = df.index.year
df['month'] = df.index.month
1. 박스 그래프 (boxplot)
(1) 연도별 데이터
연도별 추세를 확인할 수 있습니다. 2013년도 까지 증가했다가 증가감소를 반복하고 있는 모습입니다.
# 연도별 데이터
plt.figure(figsize=(10,5))
sns.barplot(data=df, x='year', y = 'Total')
(2) 연도별 흐름에 따른 월별 데이터
위의 연도별 그래프에 각 연도마다 월별 그래프를 추가하였습니다. seaborn의 경우 hue 라는 파라미터를 사용하여
2007년, 2008년.. 연도흐름에 따라서 1월 2월..12월 각 월 정보를 표시할 수 있습니다.
plt.figure(figsize=(10,5))
sns.barplot(data=df, x='year', y = 'Total',hue='month')
(3) 월별 데이터
각 연도별 1월값의 평균, 2월값의 평균...을 시각화 하였습니다. 1년 기준으로 2월달에만 데이터의 값이 작아지는 모습을 볼 수 있습니다. 하나의 계절성이라고 볼 수 있을 것 같습니다.
plt.figure(figsize=(10,5))
sns.barplot(data=df, x='month', y = 'Total')
4. 월별 흐름에 따른 연 데이터
하나의 연도의 데이터가 1월,2월.. 12월 흐름에 따라 어떻게 움직이는 지 표현한 그래프입니다.
plt.figure(figsize=(10,5))
sns.barplot(data=df, x='month', y = 'Total',hue='year')
2. 라인 그래프(line plot)
(1) 연도별 데이터
연도별로 데이터를 시각화 함으로서 대략적인 추세를 알 수 있습니다.
추세를 보기엔 박스 그래프보다 라인 그래프가 훨씬 보기 쉽네요.
2013년까지 증가 추세가 있고 그 이후엔 증가감소를 반복하고 있는 것을 알 수 있네요.
# 전체적인 추세
plt.figure(figsize=(10,5))
sns.lineplot(data=df, x='year', y = 'Total')
(2) 연도 흐름에 따른 월 데이터
1월,2월 .. 12월의 연도별 흐름을 볼 수 있습니다.
각 월별로 비슷한 추세로 움직이지만 2월달이 특히 작은 값인 것을 알 수 있습니다.
# 연도별 월 데이터
plt.figure(figsize=(10,5))
sns.lineplot(data=df, x='year', y = 'Total',hue='month')
(3) 월별 흐름에 따른 연도 데이터
색깔이 흐린 연도 2007년~ 2012년 이 다른년도에 비해 값이 작았던 것을 볼 수 있습니다.
이 그래프를 통해 데이터가 확실히 2월달에 값이 작은 계절성을 가진다고 할 수 있겠네요.
# 월별 시각화
plt.figure(figsize=(10,5))
sns.lineplot(data=df, x='month', y = 'Total',hue='year')
지금까지 seaborn 을 통해 시각화를 진행해보았습니다!
더 유용한 시각화가 있다면 차차 포스팅을 통해 정리해보겠습니다. 감사합니다~
'AI(시계열) > 데이터시각화' 카테고리의 다른 글
[데이터 시각화] Seaborn Kdeplot 사용해보기 (0) | 2023.03.16 |
---|---|
[시계열 시각화] plotly를 통한 시계열 시각화 (0) | 2022.12.29 |