반응형
1. 시계열데이터로 바꾸는 함수
dataFrame.asfreq('단위',meathod='결측치채우는방법')
# 단위
#'D':day, 'W':week, 'H':Hour
# meathod
# 'ffill' or 'pad' : forward fill, 앞에것으로 뒤에것을 채우는것
# 'bfill' or 'backfill' : 뒤에것으로 앞에것을 채우는것
2. 시계열데이터에서 결측치 확인하기
<example>
raw_all
#결측치가 있는 값은 True를 반환한다
raw_all.asfreq('H').isnull().sum(axis=1)>0
#결측치가 있는 행을 반환한다
raw_all.asfreq('H')[raw_all.asfreq('H').isnull().sum(axis=1) > 0]
3. 시계열 분해(추세, 계절성, 잔차)
import statsmodels.api as sm
sm.tsa.seasonal_decompose({분해요소], model={분해방법})
# {분해요소} : DataFrame의 column
# {분해방법} : 'additive'=(추세+계절성+잔차), 'multiplicative'=(추세*계절성*잔차)
# 분해 방법은 상황에 따라 적절히 판단한다.
4. 이동평균선(rolling)
x이동평균선이란 (t-x)~x의 함숫값의 평균을 f(x)의 값으로 하는것을 의미한다.
<example>
raw_all[['count']]
raw_all[['count']].rolling(24).mean()[:50] #24시간 이동평균을 구한다
5. 차이값 확인(diff)
앞의 값과 차이값을 확인할 수 있다. 4.이동평균선에서 사용한 row_all 데이터프레임을 diff함수를 이용하여 바꾸면 아래와 같다
raw_all[['count']].diff()
6. 시간정보 추출
DataFrame.datetime.dt.{추출하고싶은요소}
#추출하고싶은요소 : month, day, hour, dayofweek, quater...
<example>
raw_all.datetime
raw_all.datetime.dt.month
7. 단위시간만큼 이동시키기
<example>
raw_all['count']
raw_all['count'].shift(1) #1단위만큼 아래로
raw_all['count'].shift(-1) #1단위만큼 위로
반응형