Pandas에서 지정된 CustomBusinessHour 오프셋 객체에 적용된 빈도(frequency)를 문자열 형태로 확인하려면 CustomBusinessHour.freqstr 속성을 사용하면 됩니다. 이 속성은 해당 오프셋이 나타내는 빈도 규칙을 간결한 문자열 표기(예: 3CBH)로 반환해 줍니다.
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 타임스탬프 설정
Pandas에서 기준이 되는 타임스탬프 객체를 생성합니다.
timestamp = pd.Timestamp('2021-10-25 08:35:10')3. CustomBusinessHour 오프셋 생성
CustomBusinessHour는 DateOffset의 하위 클래스로, 유효한 영업일과 영업 시간대를 직접 정의할 수 있습니다. 여기서는 n=3(3시간 단위)으로 설정하고, weekmask 매개변수를 통해 월·화·수·금을 유효 영업일로 지정했습니다.
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n=3, weekmask='Mon Tue Wed Fri')
4. 타임스탬프에 오프셋 적용
타임스탬프에 오프셋을 더하고, 업데이트된 결과를 출력합니다.
print("\nUpdated Timestamp...\n", timestamp + cbhOffset)5. 적용된 빈도를 문자열로 반환
freqstr 속성을 사용해 해당 오프셋 객체에 적용된 빈도를 문자열로 확인합니다.
print("\nFrequency applied on the given CustomBusinessHour Offset object...\n", cbhOffset.freqstr)전체 예제 코드
import pandas as pd
# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-10-25 08:35:10')
# 타임스탬프 출력
print("Timestamp...\n", timestamp)
# CustomBusinessHour 오프셋 생성
# CustomBusinessHour는 DateOffset의 하위 클래스
# weekmask로 유효한 영업일(월·화·수·금) 지정
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n=3, weekmask='Mon Tue Wed Fri')
# 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)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timestamp... 2021-10-25 08:35:10 CustomBusinessHour Offset... <3 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-10-25 12:00:00 Frequency applied on the given CustomBusinessHour Offset object... 3CBH
결과 해석
출력 결과를 보면 오프셋 객체는 <3 * CustomBusinessHours: CBH=09:00-17:00>로 표시되며, 이는 영업 시간대가 오전 9시부터 오후 5시까지이고 3시간 단위로 이동한다는 의미입니다. 기준 타임스탬프(08:35:10)에 오프셋을 더하면 영업 시작 시각인 09:00부터 3시간이 경과한 12:00:00이 됩니다. 마지막으로 freqstr 속성은 적용된 빈도를 3CBH라는 문자열로 반환합니다.