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 학원 강의 ]

+ Recent posts