반응형

Timestamp

Timestamp()는 시간의 단일 시점을 나타낸다. 파이썬 datetime.datetime 객체와 동일한 기능을 한다. date 또는 datetime  스트링과 함께 pd.Timestamp() 함수를 사용해  Timestamp 객체를 만들 수 있다.

import pandas as pd
timestamp_ex = pd.Timestamp('2023-09-10 12:00:00')

Period

Period()는 하루, 한달, 또는 일년과 같이 시간의 일정 기간을 나타낸다. date 또는 datetime  스트링과 빈도(freq)와 함께 pd.Period() 함수를 사용해  Period 객체를 만들 수 있다.

period_ex = pd.Period('2023-10', freq='M')

Timedelta

Timedelta()는 두 날짜 또는 시간들의 차이를 나타낸다. 파이썬 datetime.datetime 객체와 동일한 기능을 한다. 기간 스트링과 함께 pd.Timedelta() 함수를 사용해 Timedelta 객체를 만들 수 있다.

timedelta_ex = pd.Timedelta('1 day')

resample

resample()은 datetime index를 가지고 원하는 주기로 변환하거나 분석할 수 있다. resample()은 groupby 와 유사하게 사용할 수 있다.  데이터의 index가 datetime 같은 index가 아니라면, 이 메서드를 적용하기 전에 set_index()를 사용해, datetimeIndex를 먼저 설정해야 한다.

resample_ex = pd.resample('M').max()

shift

shift()는 데이터를 이동시킬 때 사용한다. 인수로 n을 줄 때 전체 데이터가 n행씩 뒤로 이동한다.
주식 데이터를 다룰 때 많이 사용하는데, 일간, 월간 변동률 등을 구할 때 사용한다. 다음은 일간 변동률을 구하는 것을 보여준다.

sec_dpc = (sec['Close'] / sec['Close'].shift(1) - 1) * 100 # 'Close'는 종가 필드를 나타냄

rolling

rolling()은 시리즈에서 window 크기에 해당하는 개수만큼 데이터를 추출하여 집계 함수에 해당하는 연산을 실시한다. 집계 함수로는 max(), mean(), min()을 사용할 수 있다. min_periods를 지정하면 데이터 개수가 윈도우 크기에 못미치더라도 mini_periods로 지정한 개수만 만족하면 연산을 수행한다.

kospi = pdr.get_data_yahoo('^KS11', '2023-10-04') # 주식 일별 데이터를 갖고 있다고 가정한다.

window = 252
peak = kospi['Adj Close'].rolling(window, min_periods=1).max()

 

Kaggle DataSets API

캐글에 있는 데이터셋을 가지고 연습해 보도록 한다.
캐글에서 데이터셋을 쉽게 가져오기 위해서 kaggle API를 설치하는 것이 좋다.

!pip install kaggle #kaggle 라이브러리를 설치

캐글 홈페이지에 로그인 후 본인 계정에서 API(kaggle.json) 파일을 다운로드한다.
윈도우의 경우에는 C 드라이브에서 '사용자(User)' >'컴퓨터명;>.kaggle폴더에 다운로드한 API파일을 이동시킨다.

이제 캐글 데이터셋을 주피터 노트북에서 쉽게 사용할 수 있게 되었다.
다운로드 받고자 하는 데이터셋을 캐글에서 검색한 후, API 주소를 클립보드에 복사한다(버튼을 누르도록 되어 있다).

!kaggle datasets list -s store-sales-time-series-forecasting

kaggle datasets 명령과 list, -s 옵션, 복사한 API 주소를 함께 입력하면 해당 데이터셋의 리스트를 다음과 같이 볼 수 있다.

!kaggle datasets download -w aslanahmedov/walmart-sales-forecast

분석하고 싶은 데이터셋을 선택해서 다운로드할 수 있다.
-w옵션은 현재 폴더에 저장하는 옵션이고,--unzip 옵션을 넣어 압축을 해제한 상태에서 다운로드할 수도 있다.

 

반응형

+ Recent posts