Pandas에서 Period 객체를 월별 빈도를 가진 타임스탬프(Timestamp)로 변환하려면 period.to_timestamp() 메서드를 사용하고, freq 매개변수를 'M'(월 단위)으로 설정하면 됩니다.
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
pandas.Period는 특정 기간(시점 구간)을 나타내는 객체입니다. 아래와 같이 Period 객체를 생성할 수 있습니다.
period = pd.Period(freq="S", year = 2021, month = 9, day = 18, hour = 17, minute = 20, second = 45)
생성한 Period 객체를 화면에 출력해 확인합니다.
print("Period...\n", period)
이제 Period 객체의 타임스탬프 표현을 반환합니다. freq 매개변수를 사용해 빈도를 지정했으며, 여기서는 'M', 즉 월별(월말 기준) 빈도로 설정했습니다.
print("\nPeriod to Timestamp with monthly (month-end) frequency...\n",
period.to_timestamp(freq='M'))
예제
다음은 전체 코드입니다.
import pandas as pd
# pandas.Period는 하나의 기간을 나타냅니다
# Period 객체 생성
period = pd.Period(freq="S", year = 2021, month = 9, day = 18, hour = 17, minute = 20, second = 45)
# Period 객체 출력
print("Period...\n", period)
# Period 객체의 타임스탬프 표현 반환
# freq 매개변수로 빈도를 설정합니다
# 빈도는 'M', 즉 월별(월말)로 지정했습니다
print("\nPeriod to Timestamp with monthly (month-end) frequency...\n", period.to_timestamp(freq='M'))
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period... 2021-09-18 17:20:45 Period to Timestamp with monthly (month-end) frequency... 2021-09-30 00:00:00
결과를 보면 원래 Period 객체가 2021년 9월 18일 17시 20분 45초를 나타냈지만, to_timestamp(freq='M')를 적용한 후 해당 월의 마지막 날인 2021년 9월 30일 자정(00:00:00)으로 변환된 것을 확인할 수 있습니다. 이처럼 freq='M' 옵션은 해당 기간을 월말 시점의 타임스탬프로 변환해 줍니다.