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

Python Pandas – CustomBusinessHour 오프셋 객체에 적용된 빈도를 문자열로 반환하는 방법

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라는 문자열로 반환합니다.