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

Python Pandas – BusinessHour Offset 객체에 적용된 빈도를 문자열로 반환하는 방법

주어진 BusinessHour Offset 객체에 적용된 빈도(frequency)를 문자열 형태로 반환하려면, Pandas에서 제공하는 freqstr 속성을 사용하면 됩니다. 이 속성은 오프셋 객체에 설정된 빈도 규칙을 읽기 쉬운 문자열로 출력해 줍니다.

필요한 라이브러리 가져오기

가장 먼저 필요한 라이브러리인 Pandas를 임포트합니다.

import pandas as pd

Pandas 타임스탬프 객체 설정하기

pd.Timestamp()를 사용하여 타임스탬프 객체를 생성합니다.

timestamp = pd.Timestamp('2021-1-1 01:55:30')

BusinessHour Offset 생성하기

영업 시작 시간(start)과 종료 시간(end)을 지정하여 BusinessHour 오프셋 객체를 만듭니다. BusinessHour는 DateOffset의 하위 클래스로, 사용자가 정의한 영업 시간 단위로 날짜를 이동시킬 때 유용하게 활용됩니다.

bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")

여기서 start는 사용자 정의 영업 시간의 시작 시간, end는 종료 시간이며, 두 값 모두 24시간 형식으로 입력합니다.

업데이트된 타임스탬프 표시하기

타임스탬프에 BusinessHour 오프셋을 더하면, 지정된 영업 시간 범위 내의 다음 유효한 시점으로 날짜가 이동합니다.

print("\nUpdated Timestamp...\n", timestamp + bhOffset)

적용된 빈도를 문자열로 반환하기

freqstr 속성을 호출하면 해당 BusinessHour 오프셋 객체에 적용된 빈도가 문자열 형태로 반환됩니다.

print("\nFrequency applied on the given BusinessHour Offset object...\n", bhOffset.freqstr)

전체 예제 코드

지금까지 설명한 내용을 하나로 정리한 전체 코드는 다음과 같습니다.

import pandas as pd

# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-1-1 01:55:30')

# 타임스탬프 표시
print("Timestamp...\n", timestamp)

# BusinessHour Offset 생성
# BusinessHour는 DateOffset의 하위 클래스입니다.
# 여기서 "start"는 사용자 정의 영업 시간의 시작 시간(24시간 형식),
# "end"는 사용자 정의 영업 시간의 종료 시간(24시간 형식)입니다.
bhOffset = pd.tseries.offsets.BusinessHour(start="09:30", end="18:00")

# BusinessHour Offset 표시
print("\nBusinessHour Offset...\n", bhOffset)

# 업데이트된 타임스탬프 표시
print("\nUpdated Timestamp...\n", timestamp + bhOffset)

# 주어진 BusinessHour Offset 객체에 적용된 빈도를 문자열로 반환
print("\nFrequency applied on the given BusinessHour Offset object...\n", bhOffset.freqstr)

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

Timestamp...
 2021-01-01 01:55:30

BusinessHour Offset...
 <BusinessHour: BH=09:30-18:00>

Updated Timestamp...
 2021-01-01 10:30:00

Frequency applied on the given BusinessHour Offset object...
 BH