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

Python Pandas – BusinessDay 오프셋 생성하는 방법

Pandas에서 BusinessDay(영업일) 오프셋을 생성하려면 pd.tseries.offsets.BusinessDay() 메서드를 사용합니다. BusinessDay는 DateOffset의 하위 클래스로, 주말을 제외한 영업일 기준으로 날짜를 계산할 때 유용하게 활용됩니다.

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

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

import datetime
import pandas as pd

BusinessDay 오프셋 생성하기

이제 BusinessDay 오프셋을 생성합니다. offset 매개변수에 datetime.timedelta 객체를 전달하면 영업일 단위에 추가적인 시간 간격을 지정할 수 있습니다.

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

생성된 오프셋 확인하기

생성된 BusinessDay 오프셋을 출력해 확인합니다.

print("BusinessDay Offset...\n", bdOffset)

타임스탬프 설정하기

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

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

오프셋 적용 후 타임스탬프 확인

타임스탬프에 BusinessDay 오프셋을 더하면 업데이트된 날짜와 시간을 얻을 수 있습니다.

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

전체 예제 코드

지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.

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)

실행 결과

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

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

정리

이 예제에서는 2021년 1월 1일 01시 55분 02초의 타임스탬프에 7일 7시간 7분의 BusinessDay 오프셋을 적용했습니다. 그 결과 2021년 1월 11일 09시 02분 02초라는 새로운 타임스탬프가 계산되었습니다. 이처럼 BusinessDay 오프셋을 활용하면 영업일 기준의 날짜 연산을 손쉽게 처리할 수 있어, 금융 데이터 분석이나 업무 일정 계산 등에 매우 유용합니다.