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

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

Pandas에서 BusinessDay.freqstr 속성을 사용하면 주어진 BusinessDay 오프셋 객체에 적용된 빈도를 문자열 형태로 손쉽게 확인할 수 있습니다. 이 속성은 날짜 오프셋의 빈도 정보를 사람이 읽기 쉬운 문자열로 반환해 주기 때문에, 시계열 데이터를 다룰 때 유용하게 활용됩니다.

필수 라이브러리 가져오기

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

import datetime
import pandas as pd

타임스탬프 생성

Pandas에서 타임스탬프 객체를 설정합니다.

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

BusinessDay 오프셋 생성

BusinessDay는 DateOffset의 하위 클래스입니다. 여기서는 7일 7시간 7분의 오프셋을 가지는 BusinessDay 객체를 생성합니다.

bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 7, hours = 7, minutes = 7))

업데이트된 타임스탬프 확인

생성한 오프셋을 원래 타임스탬프에 더하면 새로운 날짜가 계산됩니다.

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

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

주어진 BusinessDay 객체에 적용된 빈도를 문자열로 출력합니다.

print("\nFrequency on the given BusinessDay Offset...\n", bdOffset.freqstr)

전체 예제 코드

다음은 위 과정을 모두 포함한 전체 코드입니다.

import datetime
import pandas as pd

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

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

# BusinessDay 오프셋 생성
# BusinessDay는 DateOffset의 하위 클래스입니다
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 7, hours = 7, minutes = 7))

# BusinessDay 오프셋 출력
print("BusinessDay Offset...\n", bdOffset)

# 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n", timestamp + bdOffset)

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

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Timestamp...
 2021-01-01 01:55:02.000045
BusinessDay Offset...
 <BusinessDay: offset=datetime.timedelta(days=7, seconds=25620)>

Updated Timestamp...
 2021-01-11 09:02:02.000045

Frequency on the given BusinessDay Offset...
 B+7D7H7Min

정리

실행 결과를 보면, freqstr 속성이 B+7D7H7Min이라는 문자열을 반환한 것을 확인할 수 있습니다. 이는 영업일(B) 기준에 7일, 7시간, 7분의 추가 오프셋이 적용되었음을 의미합니다. 또한 원래 타임스탬프인 2021년 1월 1일에 오프셋을 적용하면 2021년 1월 11일 09:02:02로 계산된 것을 볼 수 있습니다. 이처럼 freqstr 속성을 활용하면 복잡한 날짜 오프셋의 빈도 구성을 한눈에 파악할 수 있습니다.