본문 바로가기
AI/- Library

[ Pandas ] 시계열 데이터

by Yoojacha 2023. 2. 17.

시계열 데이터로 변경

df['Date'] = pd.to_datetime(df['Date'])

s = pd.Series(['03-01-2023', '03-02-2023', '03-03-2023'])
df = pd.to_datetime(s, format = '%d-%m-%Y') #입력받은 날짜 데이터 형식을 맞춰줌

 

시계열 데이터인 인덱스를 활용

# 기본 반환 형태
# Index(['10', '10', '10', '10', ...], dtype='object', name='인덱스명', length=행길이)

# .astype(int) 했을 때
# Int64Index([10, 10, 10, 10, 10, ...], dtype='int64', name='인덱스명', length=행길이)

df.index.strftime('%Y').astype(int) # 1900 년
df.index.strftime('%m').astype(int) # 01 월
df.index.strftime('%d').astype(int) # 01 일
df.index.strftime('%H').astype(int) # 23 시
df.index.strftime('%M').astype(int) # 59 분

 

date.dt

"""
date.dt.year # 연도
date.dt.month # 월
date.dt.day # 일
date.dt.weekday # 요일
date.dt.day_name() # 요일 이름
"""

df['WeekDay'] = df['Date'].dt.day_name() # 요일명으로 새로운 컬럼 생성

 

DataFrame.dt.isocalendar()

"""
isocalendar는 (ISO year, ISO week, ISO day)을 튜플로 반환
"""

df['Date'].dt.isocalendar().year # 년
df['Date'].dt.isocalendar().week # 주
df['Date'].dt.isocalendar().day # 요일

 

DataFrame.rolling()

DataFrame.rolling(
                    window,
                    min_periods=None, 
                    center=False, 
                    win_type=None, 
                    on=None, 
                    axis=0, 
                    closed=None, 
                    step=None, 
                    method='single'
                 )


df['Qty_MA3'] = df['Qty_Lag1'].rolling(3, min_periods = 1).mean()

댓글