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

Python Pandas – 주어진 BusinessHour 객체에 적용된 규칙 코드(rule_code) 반환 방법

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를 정상적으로 반환하는 것을 확인할 수 있습니다.