애플 주식 가격을 사용한 시계열 처리를 알아봅니다.
1. pandas, numpy, matplotlib 라이브러리를 불러들입니다.
>>> import pandas as pd
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> %matplotlib inline # jupyter notebook 내에서 그래프를 그릴 수 있도록 합니다.
2. 아래 주소를 url 변수에 저장합니다.
>>> url = 'https://raw.githubusercontent.com/guipsamora/pandas_exercises/master/09_Time_Series/Apple_Stock/appl_1980_2014.csv'
3. 위 주소에서 받은 애플 주식 데이터를 apple 변수에 저장합니다.
>>> apple = pd.read_csv(url)
>>> apple.head()
4. 컬럼들의 타입을 확인합니다.
>>> apple.dtypes # dtypes 메서드를 사용해서 각 컬럼의 타입을 알 수 있습니다. 위 표에서 보면, Date 컬럼이 날짜(Date) 타입일 것 같았는데, 실제로는 object 타입인 걸 알 수 있습니다.
5. datetime 타입으로 date 컬럼을 변환합니다.
>>> apple.Date = pd.to_datetime(apple.Date) # pandas의 to_datetime 메서드로 Date 컬럼의 타입을 변경하고, Date 컬럼에 반영합니다.
>>> apple['Date'].head()
6. Date 컬럼을 인덱스로 설정합니다.
>>> apple = apple.set_index('Date') # set_index 메서드로 해당 컬럼을 인덱스로 설정합니다.
>>> apple.head()
7. 중복되는 날짜가 있는지 알아봅니다.
>>> apple.index.is_unique # 불린값으로 중복된 날짜가 없음을 알 수 있습니다.
>>> True
8. 날짜가 최신 날짜부터 나타납니다. 과거 날짜부터 나오도록 정렬합니다.
>>> apple.sort_value(ascending = True).head() # sort_value 메서드를 사용해서 정렬합니다.
9. 매월의 마지막 영업일을 가져옵니다.
>>> apple_month = apple.resample('BM').mean()
>>> apple_month.head()
10. 첫날부터 가장 최신 일자 사이의 날짜 차이를 알아봅니다.
>>> (apple.index.max() - apple.index.min()).days
>>> 12261
11. 우리 데이타에는 얼마나 많은 달(months)이 있는지 알아봅니다.
>>> apple_months = apple.resample('BM').mean()
>>> len(apple_months.index)
>>> 404
12. '조정된 마감(Adj Close)' 값으로 그래프를 그립니다. 전체 크기는 13.5*9 인치로 정합니다.
>>> appl_open = apple['Adj Close'].plot(title = 'Apple Stock')
>>> fig = appl_open.get_figure()
>>> fig.set_size_inches(13.5, 9)
(Source : Pandas exercises 깃헙)
'파이썬으로 할 수 있는 일 > 파이썬 기초' 카테고리의 다른 글
git과 github 기본 명령어 정리 (0) | 2020.01.05 |
---|---|
데이터 삭제 (Pandas 레시피) (0) | 2019.05.18 |
시각화-visualization (Pandas 레시피) (0) | 2019.05.16 |
데이터셋 기본 통계-Stats(Pandas 레시피) (0) | 2019.05.15 |
데이터셋 병합하기-merge(Pandas 레시피) (0) | 2019.05.14 |