날짜 객체에서 Pandas 오프셋을 빼면 그 결과는 Pandas Timestamp 객체로 반환됩니다. 이 객체는 문자열 형식의 날짜나 표준 Python 날짜(Date) 객체로 변환할 수 있으며, 필요에 따라 datetime 라이브러리의 timedelta 객체를 활용할 수도 있습니다.
오프셋 계산 예제
먼저 to_offset 함수를 사용해 날짜에서 오프셋을 뺀 결과가 어떤 타입인지 확인해 보겠습니다.
from pandas.tseries.frequencies import to_offset
import pandas as pd
dt = pd.to_datetime('2018-01-04') - to_offset("5D")
print(type(dt))출력 결과
<class 'pandas._libs.tslib.Timestamp'>
위 출력에서 알 수 있듯이, 연산 결과는 일반적인 Python 날짜가 아닌 Pandas Timestamp 클래스임을 확인할 수 있습니다.
Timestamp를 문자열 및 date 객체로 변환하기
이 Timestamp 객체를 특정 형식의 문자열로 변환하려면 strftime 함수를 사용하고, 표준 Python 날짜 객체로 변환하려면 date() 함수를 호출하면 됩니다.
from pandas.tseries.frequencies import to_offset
import pandas as pd
dt = pd.to_datetime('2018-01-04') - to_offset("5D")
# 문자열 형식으로 변환
print(dt.strftime('%Y-%m-%d'))
# Python date 객체로 변환
print(dt.date())
print(type(dt.date()))출력 결과
2017-12-30 2017-12-30 <class 'datetime.date'>
정리
- strftime('%Y-%m-%d'): Timestamp를 지정한 형식의 문자열로 변환합니다.
- date(): Timestamp에서 시간 정보를 제거한 순수한
datetime.date객체를 반환합니다.
이처럼 Pandas Timestamp는 다양한 방식으로 변환이 가능하므로, 상황에 맞게 문자열 또는 Python 표준 날짜 객체로 활용하면 됩니다.