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

Python Pandas – 오프셋 객체에 적용된 빈도의 이름 확인하기 (offset.name)

DateOffset(날짜 오프셋) 객체에 적용된 빈도(frequency)의 이름을 반환하려면 Pandas의 offset.name 속성을 사용하면 됩니다. 이 속성은 해당 오프셋이 어떤 빈도 문자열(예: 'M', 'D', 'H' 등)로 생성되었는지 알려주므로, 날짜 계산 로직을 검증하거나 디버깅할 때 매우 유용합니다.

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

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

단계별 구현 방법

1. 타임스탬프 객체 설정

Pandas에서 기준이 될 Timestamp 객체를 생성합니다.

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

2. DateOffset 생성

to_offset() 함수를 사용해 오프셋 객체를 만듭니다. 여기서는 "M"(월말, MonthEnd) 빈도를 사용하여 3개월 단위로 증가시키는 오프셋을 생성합니다.

offset = to_offset("3M")

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

타임스탬프에 오프셋을 더하면 날짜가 해당 월의 말일 기준으로 이동합니다.

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

4. 빈도의 이름 반환

offset.name 속성을 호출하면 해당 DateOffset 객체에 적용된 빈도의 이름이 문자열로 반환됩니다.

print("\nThe name of the frequency on the DateOffset object..\n",
      offset.name)

전체 예제 코드

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"(월말) 빈도를 사용해 3개월 단위로 증가
offset = to_offset("3M")

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

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

# 지정된 DateOffset 객체에 적용된 빈도의 이름 반환
print("\nThe name of the frequency on the DateOffset object..\n", offset.name)

실행 결과

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

DateOffset...
 <3 * MonthEnds>

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

The name of the frequency on the DateOffset object..
 M

결과 해석

  • to_offset("3M")<3 * MonthEnds> 객체를 생성합니다. 즉, 기준 날짜에서 3개월 뒤의 월 말일로 이동한다는 의미입니다. 실제로 9월 26일에 오프셋을 더하면 11월 30일로 변경되었습니다.
  • offset.name'M'을 반환하는데, 이는 오프셋이 'M' 빈도 별칭(alias)으로 생성되었음을 나타냅니다.

참고 사항

Pandas 최신 버전(Pandas 2.x 이상)에서는 'M' 빈도가 폐기(deprecated)되었으며, 대신 월말 기준 오프셋에는 'ME'(Month End)를 사용하는 것이 권장됩니다. 구버전 코드를 유지보수할 때는 이 점을 유의하세요.