Pandas에서 CustomBusinessDay 오프셋이 정규화(normalize)되었는지 확인하려면 CustomBusinessDay.normalize 속성을 사용하면 됩니다. 이 속성은 오프셋 객체를 생성할 때 normalize 매개변수가 True로 설정되었는지 여부를 불리언 값(True/False)으로 반환합니다.
CustomBusinessDay.normalize 속성 사용하기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Pandas에서 타임스탬프(Timestamp) 객체를 설정합니다.
timestamp = pd.Timestamp('2021-10-22 03:10:35')CustomBusinessDay 오프셋을 생성합니다. CustomBusinessDay는 공휴일을 제외한 사용자 지정 영업일을 나타내는 DateOffset의 하위 클래스입니다. weekmask 매개변수를 통해 유효한 영업 요일을 지정할 수 있으며, 여기서는 "normalize" 매개변수를 사용해 오프셋을 정규화했습니다.
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri', normalize=True)
타임스탬프에 오프셋을 더하고 업데이트된 타임스탬프를 출력합니다.
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)CustomBusinessDay 오프셋이 정규화되었는지 확인합니다.
print("\nThe CustomBusinessDay Offset is normalized ?\n", cbdOffset.normalize)전체 예제 코드
다음은 전체 코드입니다.
import pandas as pd
# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-10-22 03:10:35')
# 타임스탬프 출력
print("Timestamp...\n",timestamp)
# CustomBusinessDay 오프셋 생성
# CustomBusinessDay는 공휴일을 제외한 사용자 지정 영업일을 나타내는 DateOffset의 하위 클래스입니다.
# weekmask는 유효한 영업 요일을 지정합니다.
# "normalize" 매개변수를 사용하여 CustomBusinessDay를 정규화했습니다.
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri', normalize=True)
# CustomBusinessDay 오프셋 출력
print("\nCustomBusinessDay Offset...\n",cbdOffset)
# 타임스탬프에 오프셋을 더하고 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)
# 주어진 CustomBusinessDay 오프셋 객체에 적용된 빈도를 문자열로 반환
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n",cbdOffset.freqstr)
# CustomBusinessDay 오프셋이 정규화되었는지 확인
print("\nThe CustomBusinessDay Offset is normalized ?\n", cbdOffset.normalize)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-10-22 03:10:35 CustomBusinessDay Offset... <2 * CustomBusinessDays> Updated Timestamp... 2021-10-26 00:00:00 Frequency applied on the given CustomBusinessDay Offset object... 2C The CustomBusinessDay Offset is normalized ? True
결과 해석
출력 결과에서 확인할 수 있듯이, normalize=True로 설정된 오프셋은 시간 정보를 제거하고 날짜를 자정(00:00:00)으로 맞춥니다. 원래 타임스탬프는 '2021-10-22 03:10:35'였지만, 오프셋을 적용한 후에는 '2021-10-26 00:00:00'처럼 시간 부분이 0으로 초기화된 것을 볼 수 있습니다. 또한 cbdOffset.normalize 속성이 True를 반환하므로, 해당 오프셋이 정규화되었음을 확인할 수 있습니다.