⌛time 전처리

최지안·2023년 10월 6일
0

Time Resampling

https://colab.research.google.com/drive/10UOqGEU6uIput8Ebn4KOpkdXogMPsxO3#scrollTo=kQYHthizIhFQ

df.resample(rule)

#ex)
# daily data  ---> yearly data
df.resample(rule='A').mean()

사용자 정의 리샘플링 함수

#ex)
def first_day(entry):

  #is there an entry?
  if len(entry) != 0:
    #if so, return first entry
    return entry[0]
df.resample(rule='A').apply(first_day)
  • data가 있는 첫째날 기준

Ex)

df.resample(rule='A').mean().plot.bar(color=['#1f77e4']);



Time Shifting

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.shift.html

df.shift(’periods’, ‘freq’)

  • periods만큼 전체 데이터를 이동
  • freq 단위씩 이동 Y, M, W, D



Rolling and Expanding

rolling 역할: window size를 만들어서 window size만큼 연산 수행

df.rolling('window')

#ex)
df.rolling(window=7).mean()

  • 처음 7개는 평균을 구할만큼 값이 충분하지 않기 때문에 NaN으로 표현

df[’열 이름’].expanding()

  • 시계열의 모든 시점들을 계산에 넣는 방법
  • 이전의 모든 데이터들을 통해 평균을 계산
#ex)
df['Close'].expanding().mean().plot(figsize=(12,5))

0개의 댓글