본문 바로가기

데이터 분석 학습

8장 그래프 만들기 (3)

반응형

8-4 선 그래프 - 시간에 따라 달라지는 데이터 표현하기

선 그래프(line chart): 데이터를 선으로 표현한 그래프

시계열 그래프 만들기

economics = pd.read_csv('economics.csv')
economics.head()

sns.lineplot(data = economics, x = 'date', y = 'unemploy')

x축에 연도 표시하기

1) 날짜 시간 타입 변수 만들기

# 날짜 시간 타입 변수 만들기
economics['date2'] = pd.to_datetime(economics['date'])

# 변수 타입 확인
economics.info()

"""
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 574 entries, 0 to 573
Data columns (total 7 columns):
 #   Column    Non-Null Count  Dtype         
---  ------    --------------  -----         
 0   date      574 non-null    object        
 1   pce       574 non-null    float64       
 2   pop       574 non-null    float64       
 3   psavert   574 non-null    float64       
 4   uempmed   574 non-null    float64       
 5   unemploy  574 non-null    int64         
 6   date2     574 non-null    datetime64[ns]
dtypes: datetime64[ns](1), float64(4), int64(1), object(1)
memory usage: 31.5+ KB
"""
economics[['date', 'date2']]

# 연 추출
economics['date2'].dt.year

"""
0      1967
1      1967
2      1967
3      1967
4      1967
       ... 
569    2014
570    2015
571    2015
572    2015
573    2015
Name: date2, Length: 574, dtype: int64
"""


# 월 추출
economics['date2'].dt.month

"""
0       7
1       8
2       9
3      10
4      11
       ..
569    12
570     1
571     2
572     3
573     4
Name: date2, Length: 574, dtype: int64
"""


# 일 추출
economics['date2'].dt.day

"""
0      1
1      1
2      1
3      1
4      1
      ..
569    1
570    1
571    1
572    1
573    1
Name: date2, Length: 574, dtype: int64
"""

2) 연도 변수 만들기

# 연도 변수 추가
economics['year'] = economics['date2'].dt.year
economics.head()

 

3) x축에 연도 표시하기

# x축에 연도 표시
sns.lineplot(data = economics, x = 'year', y = 'unemploy')

# 신뢰구간 제거 (선의 위아래에 표시된 면적)
sns.lineplot(data = economics, x = 'year', y = 'unemploy', ci = None)

 

혼자서 해보기 - economics 데이터를 이용해 분석 문제를 해결해 보세요

Q1 psavert(개인 저축률)가 시간에 따라 어떻게 변해 왔는지 알아보려고 합니다. 연도별 개인 저축률의 변화를 나타낸 시계열 그래프를 만들어 보세요.

economics['date2'] = pd.to_datetime(economics['date'])
economics['year'] = economics['date2'].dt.year

sns.lineplot(data = economics, x= 'year', y = 'psavert', ci =None)

Q2 2014년 월별 psavert의 변화를 나타낸 시계열 그래프를 만들어 보세요

economics['month'] = economics['date2'].dt.month

df_2014 = economics.query('year == 2014')

sns.lineplot(data = df_2014, x ='month', y='psavert', ci =None)

 

 

 

 

 

※ 해당 내용은 <Do it! 파이썬 데이터 분석>의 내용을 토대로 학습하며 정리한 내용입니다.

반응형