반응형

애플 주식 가격을 사용한 시계열 처리를 알아봅니다.

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 깃헙)

반응형

+ Recent posts