Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – is_anchored()로 DateOffset이 앵커드(고정) 오프셋인지 확인하는 방법

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일로 이동한 것을 확인할 수 있습니다.