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

Python Pandas – CustomBusinessDay 객체에 적용된 규칙 코드(rule_code)를 반환하는 방법

Pandas에서 지정된 CustomBusinessDay 객체에 적용된 규칙 코드(rule code)를 확인하려면 CustomBusinessDay.rule_code 속성을 사용하면 됩니다.

CustomBusinessDay란?

CustomBusinessDay는 휴일을 제외한 사용자 정의 영업일을 나타내는 DateOffset의 하위 클래스입니다. 주말이 아닌 특정 요일만 영업일로 취급해야 하는 경우에 유용하게 활용됩니다.

구현 단계

1단계: 필요한 라이브러리 가져오기

import pandas as pd

2단계: 타임스탬프(Timestamp) 객체 생성

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

timestamp = pd.Timestamp('2021-10-22 03:10:35')

3단계: CustomBusinessDay 오프셋 생성

휴일을 제외한 사용자 정의 영업일을 나타내는 CustomBusinessDay 오프셋을 생성합니다. 여기서는 월, 화, 수, 금요일을 유효한 영업일로 지정했습니다.

cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri')

4단계: 타임스탬프에 오프셋 적용

타임스탬프에 오프셋을 더하고 업데이트된 결과를 출력합니다.

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

5단계: 규칙 코드(rule_code) 반환

지정된 CustomBusinessDay 오프셋에 적용된 빈도의 규칙 코드를 반환합니다.

print("\nThe rule code of the CustomBusinessDay object..\n", cbdOffset.rule_code)

전체 예제 코드

다음은 위 과정을 하나로 정리한 전체 코드입니다.

import pandas as pd

# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-10-22 03:10:35')

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

# CustomBusinessDay 오프셋 생성
# CustomBusinessDay는 휴일을 제외한 사용자 정의 영업일을 나타내는 DateOffset의 하위 클래스
# weekmask는 유효한 영업일(요일)을 지정
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri')

# CustomBusinessDay 오프셋 출력
print("\nCustomBusinessDay Offset...\n",cbdOffset)

# 타임스탬프에 오프셋을 더하고 업데이트된 타임스탬프 출력
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)

# 지정된 CustomBusinessDay 오프셋 객체에 적용된 빈도를 문자열로 반환
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n",cbdOffset.freqstr)

# 지정된 CustomBusinessDay 오프셋에 적용된 빈도의 규칙 코드 반환
print("\nThe rule code of the CustomBusinessDay object..\n", cbdOffset.rule_code)

실행 결과

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

Timestamp...
 2021-10-22 03:10:35

CustomBusinessDay Offset...
 <2 * CustomBusinessDays>

Updated Timestamp...
 2021-10-26 03:10:35

Frequency applied on the given CustomBusinessDay Offset object...
 2C

The rule code of the CustomBusinessDay object..
 C

결과 해석

출력 결과를 보면, rule_code 속성은 'C'라는 문자열을 반환합니다. 이는 CustomBusinessDay 오프셋의 고유한 빈도 코드를 의미합니다. 또한 freqstr 속성은 n 값이 포함된 '2C'를 반환하는데, 이는 오프셋이 2개의 사용자 정의 영업일 단위로 동작함을 나타냅니다.

주목할 점은 2021년 10월 22일(금)에 2개의 사용자 정의 영업일을 더했더니 결과가 10월 26일(화)이 되었다는 것입니다. 이는 weekmask에서 목요일(Thu)이 영업일에서 제외되었기 때문입니다.