▪︎ 컬럼명 변경
▫︎ rename()
df1 = df.rename(columns={'old_name': 'new_name', 'old2': 'new2'})
df.columns = ['new1', 'new2', 'new3']
▪︎ 시계열 데이터
▫︎ shift(n)
- n값 만큼 과거 / 미래 데이터 가져오기
- 양수 : 과거 값 (lag)
- 음수 : 미래 값 (lead)
df['column'].shift(1) # 1칸 아래로 (이전 값)
df['column'].shift(-1) # 1칸 위로 (다음 값)
df['column'].shift(2) # 2칸 아래로
df['column'].shift(1, fill_value=0)
▫︎ pd.to_datetime()
- 입력값을 datetime 형식으로 반환
- 입력값이 정수인경우
.astype(str), format=(”%Y%m%d”) 지정(문자열 변환 → 포맷 지정)
▫︎ pd.Timedelta()
- 시간 이동, 시간 계산, 필터링, 시계열 매칭 등 시간 기반 계산에 사용
df['next_day'] = df['date'] + pd.Timedelta(days=1)
df['3_hours_ago'] = df['datetime'] - pd.Timedelta(hours=3)
delivery_time = order_time + pd.Timedelta(days=2, hours=3)
deadline = now + pd.Timedelta(weeks=2)
recent = df[df['datetime'] > (pd.Timestamp.now() - pd.Timedelta(days=7))] # 최근 7일
df['yesterday_value'] = df.merge(
...,
left_on=df['date'] - pd.Timedelta(days=1),
...
)