Pandas에서 주어진 BusinessHour 객체에 적용된 규칙 코드를 확인하려면 BusinessHour.rule_code 속성을 사용하면 됩니다.
핵심 개념
BusinessHour는 Pandas의 DateOffset 클래스를 상속받은 서브클래스로, 사용자가 정의한 영업 시간(기본값은 월~금 오전 9시부터 오후 5시까지)을 기준으로 날짜와 시간을 이동할 때 활용됩니다. rule_code 속성은 해당 오프셋에 적용된 빈도(frequency)의 약칭 문자열을 반환하며, BusinessHour의 경우 기본적으로 BH라는 코드가 출력됩니다.
단계별 구현 방법
1단계: 필요한 라이브러리 임포트
import pandas as pd
2단계: 타임스탬프(Timestamp) 객체 생성
timestamp = pd.Timestamp('2021-1-1 01:55:30')3단계: BusinessHour 오프셋 생성
start 매개변수에는 사용자 지정 영업 시간의 시작 시각을, end 매개변수에는 종료 시각을 24시간 형식으로 지정합니다.
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end = "18:00")
4단계: 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n",timestamp + bhOffset)5단계: 규칙 코드(rule_code) 반환
print("\nThe rule code of the BusinessHour object..\n", bhOffset.rule_code)전체 예제 코드
import pandas as pd
# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-1-1 01:55:30')
# 타임스탬프 출력
print("Timestamp...\n",timestamp)
# BusinessHour 오프셋 생성
# BusinessHour는 DateOffset의 서브클래스입니다.
# "start": 사용자 지정 영업 시작 시각 (24시간 형식)
# "end": 사용자 지정 영업 종료 시각 (24시간 형식)
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end = "18:00")
# BusinessHour 오프셋 출력
print("\nBusinessHour Offset...\n",bhOffset)
# 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n",timestamp + bhOffset)
# 주어진 BusinessHour 오프셋에 적용된 빈도의 규칙 코드 반환
print("\nThe rule code of the BusinessHour object..\n", bhOffset.rule_code)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-01-01 01:55:30 BusinessHour Offset... <BusinessHour: BH=09:30-18:00> Updated Timestamp... 2021-01-01 10:30:00 The rule code of the BusinessHour object.. BH
결과 해석
출력 결과를 보면, 원래 타임스탬프인 2021-01-01 01:55:30에 영업 시간(09:30~18:00) 오프셋이 적용되어 2021-01-01 10:30:00으로 변경되었습니다. 새벽 1시 55분은 영업 시간 외이므로 다음 영업일의 시작 기준으로 계산된 것입니다. 또한 rule_code 속성은 BusinessHour 객체에 적용된 빈도 코드인 BH를 정상적으로 반환하는 것을 확인할 수 있습니다.