Pandas에서 CustomBusinessHour 오프셋이 정규화(normalized)되었는지 확인하려면 CustomBusinessHour.normalize 속성을 사용하면 됩니다. 이 속성은 해당 오프셋 객체 생성 시 normalize=True 매개변수가 설정되었는지 여부를 불리언 값으로 반환합니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Pandas에서 타임스탬프(Timestamp) 객체를 설정합니다.
timestamp = pd.Timestamp('2021-10-25 08:35:10')이제 CustomBusinessHour 오프셋을 생성합니다. CustomBusinessHour는 DateOffset의 하위 클래스로, 유효한 영업일을 지정하는 weekmask와 함께 사용할 수 있습니다. 여기서는 normalize=True 매개변수를 사용해 오프셋을 정규화했습니다.
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 3, weekmask = 'Mon Tue Wed Fri Sat', normalize=True)
타임스탬프에 오프셋을 더하고 업데이트된 타임스탬프를 출력합니다.
print("\nUpdated Timestamp...\n", timestamp + cbhOffset)CustomBusinessHour 오프셋이 정규화되었는지 확인합니다.
print("\nThe CustomBusinessHour Offset is normalized ?\n", cbhOffset.normalize)전체 예제 코드
다음은 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-10-25 08:35:10')
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# CustomBusinessHour 오프셋 생성
# CustomBusinessHour는 DateOffset의 하위 클래스
# weekmask는 유효한 영업일(월, 화, 수, 금, 토)을 지정
# "normalize" 매개변수를 사용하여 정규화 적용
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 3, weekmask = 'Mon Tue Wed Fri Sat', normalize=True)
# CustomBusinessHour 오프셋 출력
print("\nCustomBusinessHour Offset...\n", cbhOffset)
# 타임스탬프에 오프셋을 더하고 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n", timestamp + cbhOffset)
# 해당 CustomBusinessHour 오프셋 객체에 적용된 빈도를 문자열로 반환
print("\nFrequency applied on the given CustomBusinessHour Offset object...\n", cbhOffset.freqstr)
# 해당 CustomBusinessHour 객체에 적용된 빈도의 이름 반환
print("\nThe name of the frequency on the CustomBusinessHour object..\n", cbhOffset.name)
# CustomBusinessHour 오프셋이 정규화되었는지 확인
print("\nThe CustomBusinessHour Offset is normalized ?\n", cbhOffset.normalize)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-10-25 08:35:10 CustomBusinessHour Offset... <3 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-10-25 00:00:00 Frequency applied on the given CustomBusinessHour Offset object... 3CBH The name of the frequency on the CustomBusinessHour object.. CBH The CustomBusinessHour Offset is normalized ? True
결과 해석
출력 결과를 보면 normalize=True로 설정했기 때문에 원래 타임스탬프가 '2021-10-25 08:35:10'이었음에도 불구하고, 오프셋을 더한 결과가 '2021-10-25 00:00:00'으로 자정 기준으로 정규화된 것을 확인할 수 있습니다. 또한 마지막 줄에서 cbhOffset.normalize 속성이 True를 반환하며, 이를 통해 해당 오프셋이 정규화되었음을 알 수 있습니다.