Pandas에서 주어진 DateOffset이 앵커드(Anchored, 고정) 오프셋인지 확인하려면 offset.is_anchored() 메서드를 사용하면 됩니다. 앵커드 오프셋이란 '매주 화요일(W-TUE)'처럼 특정 요일에 고정된 주기 빈도를 의미합니다.
1. 필요한 라이브러리 임포트하기
먼저 예제에 필요한 라이브러리를 임포트합니다.
from pandas.tseries.frequencies import to_offset import pandas as pd
2. 타임스탬프 객체 생성하기
Pandas에서 타임스탬프(Timestamp) 객체를 설정합니다.
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')3. DateOffset 생성하기
이번 예제에서는 화요일 기준의 주간 빈도, 즉 앵커드 오프셋을 나타내는 W-TUE를 사용해 DateOffset을 생성합니다.
offset = to_offset("W-TUE")4. 업데이트된 타임스탬프 출력하기
DateOffset을 더한 이후의 타임스탬프를 출력해 봅니다.
print("\nUpdated Timestamp...\n",timestamp + offset)5. DateOffset이 앵커드인지 확인하기
is_anchored() 메서드를 호출하여 해당 DateOffset이 앵커드 오프셋인지 검사합니다.
print("\nCheck whether the DateOffset is anchored...\n", offset.is_anchored())전체 예제 코드
아래는 위 과정을 모두 포함한 전체 코드입니다.
from pandas.tseries.frequencies import to_offset
import pandas as pd
# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')
# 타임스탬프 출력
print("Timestamp...\n",timestamp)
# DateOffset 생성
# 화요일 기준 주간 빈도(W-TUE), 즉 앵커드 오프셋 사용
offset = to_offset("W-TUE")
# DateOffset 출력
print("\nDateOffset...\n",offset)
# 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n",timestamp + offset)
# DateOffset이 앵커드인지 확인
print("\nCheck whether the DateOffset is anchored...\n", offset.is_anchored())실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-09-26 03:25:02.000045 DateOffset... <Week: weekday=1> Updated Timestamp... 2021-09-28 03:25:02.000045 Check whether the DateOffset is anchored... True
출력 결과에서 볼 수 있듯이, W-TUE 오프셋은 특정 요일(화요일)에 고정된 빈도이므로 is_anchored()가 True를 반환합니다. 또한 원래 타임스탬프가 일요일(9월 26일)이었지만, 오프셋을 적용한 후 다음 화요일인 9월 28일로 이동한 것을 확인할 수 있습니다.