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

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

Pandas에서 주어진 DateOffset 객체에 적용된 규칙 코드를 반환하려면 offset.rule_code 속성을 사용하면 됩니다. 이 속성은 해당 오프셋이 어떤 빈도(frequency) 규칙을 나타내는지 문자열 형태로 알려줍니다.

1. 필요한 라이브러리 임포트

먼저 필요한 라이브러리를 가져옵니다.

from pandas.tseries.frequencies import to_offset
import pandas as pd

2. 타임스탬프(Timestamp) 생성

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

timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')

3. DateOffset 객체 생성

이제 DateOffset을 생성합니다. 여기서는 "M" 빈도를 사용하여 월 단위로 날짜를 증가시킵니다. to_offset("3M")은 3개월 간격의 오프셋을 의미합니다.

offset = to_offset("3M")

4. 업데이트된 타임스탬프 출력

원본 타임스탬프에 오프셋을 더한 결과를 출력해 보겠습니다.

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

5. 규칙 코드(rule_code) 반환

마지막으로, 주어진 DateOffset 객체에 적용된 빈도의 규칙 코드를 반환합니다.

print("\nThe rule code of the DateOffset object..\n", offset.rule_code)

전체 예제 코드

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

from pandas.tseries.frequencies import to_offset
import pandas as pd

# Pandas에서 타임스탬프 객체 설정
timestamp = pd.Timestamp('2021-09-26 03:25:02.000045')

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

# DateOffset 생성
# "M" 빈도를 사용하여 월 단위 증가
offset = to_offset("3M")

# DateOffset 출력
print("\nDateOffset...\n", offset)

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

# 주어진 DateOffset 객체에 적용된 빈도의 규칙 코드 반환
print("\nThe rule code of the DateOffset object..\n", offset.rule_code)

실행 결과

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

Timestamp...
 2021-09-26 03:25:02.000045

DateOffset...
 <3 * MonthEnds>

Updated Timestamp...
 2021-11-30 03:25:02.000045

The rule code of the DateOffset object..
 M

결과 해석

출력 결과를 보면 다음과 같은 사실을 알 수 있습니다.

<3 * MonthEnds> : "3M" 빈도는 '월말(MonthEnd)' 기준으로 3개월을 이동하는 오프셋임을 나타냅니다.
업데이트된 타임스탬프 : 원본 날짜(2021-09-26)에서 3개월 후인 2021-11-30으로 변경되었습니다. 9월 말 기준으로 정확히 세 달 뒤인 11월의 마지막 날(30일)로 이동한 것입니다.
규칙 코드 : offset.rule_codeM을 반환하며, 이는 해당 오프셋이 '월(Month)' 빈도 규칙에 기반함을 의미합니다.

이처럼 rule_code 속성을 활용하면 복잡하게 조합된 DateOffset 객체라도 그 내부 빈도 규칙을 손쉽게 확인할 수 있어, 시계열 데이터의 리샘플링이나 날짜 연산 로직을 디버깅할 때 매우 유용합니다.