Pandas에서 BusinessHour 오프셋이 정규화(normalize)되었는지 확인하려면 BusinessHour.normalize 속성을 사용하면 됩니다. 이 속성은 해당 오프셋 생성 시 normalize 매개변수가 True로 설정되었는지를 불리언 값으로 반환합니다.
1. 필요한 라이브러리 가져오기
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
2. 타임스탬프 객체 설정
확인에 사용할 타임스탬프 객체를 생성합니다.
timestamp = pd.Timestamp('2021-1-1 01:55:30')3. BusinessHour 오프셋 생성
pd.tseries.offsets.BusinessHour를 사용해 사용자 지정 영업시간 오프셋을 만듭니다. start와 end 매개변수에는 각각 영업 시작 시간과 종료 시간을 24시간 형식으로 지정하며, 여기서는 normalize=True로 설정하여 오프셋을 정규화했습니다.
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00", normalize=True)
4. 업데이트된 타임스탬프 확인
타임스탬프에 오프셋을 더한 결과를 출력합니다.
print("\nUpdated Timestamp...\n", timestamp + bhOffset)5. 정규화 여부 확인
bhOffset.normalize 속성을 출력하여 오프셋이 정규화되었는지 확인합니다.
print("\nThe BusinessHour Offset is normalized ?\n", bhOffset.normalize)전체 예제 코드
아래는 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-1-1 01:55:30')
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# BusinessHour 오프셋 생성
# BusinessHour는 DateOffset의 하위 클래스입니다.
# "start": 사용자 지정 영업 시작 시간 (24시간 형식)
# "end": 사용자 지정 영업 종료 시간 (24시간 형식)
# normalize 매개변수를 사용하여 오프셋을 정규화합니다.
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00", normalize=True)
# BusinessHour 오프셋 출력
print("\nBusinessHour Offset...\n", bhOffset)
# 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n", timestamp + bhOffset)
# BusinessHour 오프셋의 정규화 여부 확인
print("\nThe BusinessHour Offset is normalized ?\n", bhOffset.normalize)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-01-01 01:55:30 BusinessHour Offset... <BusinessHour: BH=09:30-18:00> Updated Timestamp... 2021-01-01 00:00:00 The BusinessHour Offset is normalized ? True
결과 해석
출력 결과를 보면 원래 타임스탬프가 2021-01-01 01:55:30이었지만, normalize=True가 적용된 BusinessHour 오프셋을 더한 후 시간 부분이 00:00:00으로 초기화된 것을 확인할 수 있습니다. 또한 bhOffset.normalize 속성이 True를 반환하므로, 해당 오프셋이 정규화되었음을 알 수 있습니다.