1. 선 그래프 - 시간에 따라 달라지는 데이터 표현하기
🐰 선 그래프 line chart : 데이터를 선으로 표현한 그래프, 시간에 따라 달라지는 데이터를 표현할 때 자주 사용
🐰 환율, 주가지수 등 경제 지표가 시간에 따라 변하는 양상을 '선 그래프'로 표현
🥕 시계열 데이터 time series data : 일별 환율처럼, 일정 시간 간격을 두고 나열된 데이터
🥕 시계열 그래프 time series chart : 시계열 데이터를 선으로 표현한 그래프
1) 시계열 그래프 만들기
🐰 economics는 미국의 여러 가지 경제 지표를 월별로 나타낸 데이터
🐰 economics를 이용해 시간에 따라 실업자 수가 어떻게 변하는지 나타낸 시계열 그래프를 생성
🐰 sns.lineplot()을 이용하면 선 그래프를 만들 수 있다
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# economics 데이터(시계열 데이터) 불러오기
economics = pd.read_csv('../input/economics.csv')
'''
date pce pop psavert uempmed unemploy
0 1967-07-01 506.7 198712.0 12.6 4.5 2944
1 1967-08-01 509.8 198911.0 12.6 4.7 2945
2 1967-09-01 515.6 199113.0 11.9 4.6 2958
3 1967-10-01 512.2 199311.0 12.9 4.9 3143
4 1967-11-01 517.4 199498.0 12.8 4.7 3066
'''
# x축에는 시간을 나타낸 date, y축에는 실업자 수를 나타낸 uneploy를 지정
sns.lineplot(data=economics, x='date', y='unemploy')
plt.show()
📍 출력된 그래프를 보면 x축에 굵은 선이 표시
▶️ date 변수에는 '1967-07-01' 처럼 '연월일'을 나타낸 문자가 있는데 이 값이 x축에 가로로 여러 번 겹쳐 표시되어서 굵은 선으로 보임
(1) x축에 연도 표시하기
🥕 x축에 연도를 표시하려면 변수 타입을 날짜 시간 타입 datetime64으로 바꿔야 함
( economics 데이터의 date가 문자 object 타입으로 되어 있음 )
🥕 pd.to_datetime()을 이용하면 변수의 타입을 날짜 시간 타입으로 바꿀 수 있음
⚡️ 변수의 타입을 날짜 시간 타입으로 바꾸더라도 값이 달라지지 않음
🥕 날짜 시간 타입은 df.dt를 이용해 연, 월, 일을 추출할 수 있음
# 날짜 시간 타입 변수 만들기
# date 타입을 날짜 시간 타입으로 변경해서 date2 변수 추가
economics['date2'] = pd.to_datetime(economics['date'])
# 변수 타입 확인
economics.info()
'''
RangeIndex: 574 entries, 0 to 573
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 date 574 non-null object
... 생략...
6 date2 574 non-null datetime64[ns]
'''
# 연도 변수 추가
economics['year'] = economics['date2'].dt.year
economics.head()
# 연도를 나타낸 변수를 sns.lineplot()의 x에 입력하면 x축에 연도가 표시
sns.lineplot(data=economics, x='year', y='unemploy')
plt.show()
📍 선의 위아래에 표시된 면적은 신뢰구간 confidence interval
📍 신뢰 구간을 표시하지 않으려면 errorbar = None을 입력
# 신뢰구간 제거
sns.lineplot(data=economics, x='year', y='unemploy', errorbar=None)
plt.show()
# date2로 그래프 바로 생성
sns.lineplot(data=economics, x='date2', y='unemploy')
plt.show()
[ 내용 참고 : IT 학원 강의 ]
'Programming Language > Python' 카테고리의 다른 글
[Python] 데이터분석 A-Z (0) | 2024.03.18 |
---|---|
[Python] Folium 라이브러리 | 지도 시각화, 마커, 단계구분도 (0) | 2024.03.15 |
[Python] Seaborn | 상자 수염 Box Plot 그래프 (1) | 2024.03.15 |
[Python] Seaborn | 산점도 그래프 - scatter plot (0) | 2024.03.15 |
[Python] Seaborn | 산점도 그래프 - Strip plot (0) | 2024.03.15 |