Pandas에서 Period 객체의 Timestamp 표현을 반환하려면 period.to_timestamp() 메서드를 사용하면 됩니다. 이 메서드는 특정 기간을 나타내는 Period 객체를 해당 시점의 Timestamp 객체로 손쉽게 변환해 줍니다.
필요한 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Period 객체 생성
pandas.Period는 특정 기간(시점)을 나타내는 객체입니다. 다음과 같이 연도, 월, 일, 시, 분, 초를 지정하여 Period 객체를 생성할 수 있습니다.
period = pd.Period(freq="S", year=2021, month=9, day=18, hour=17, minute=20, second=45)
여기서 freq="S"는 빈도(frequency)가 초(second) 단위임을 의미합니다.
Period 객체 출력
생성한 Period 객체를 화면에 출력해 보겠습니다.
print("Period...\n", period)
Timestamp로 변환하기
to_timestamp() 메서드를 호출하면 Period 객체의 Timestamp 표현을 얻을 수 있습니다. 이때 freq 매개변수를 사용해 원하는 빈도 수준을 지정할 수 있습니다.
print("\nPeriod to Timestamp...\n", period.to_timestamp(freq='T'))
여기서 freq='T'는 분(minute) 단위 빈도를 의미하며, 결과는 분 단위까지만 유지된 Timestamp로 반환됩니다. 참고로 최신 버전의 Pandas에서는 'T' 대신 'min' 별칭을 사용하는 것이 권장됩니다.
전체 예제 코드
지금까지의 내용을 하나로 정리한 전체 코드는 다음과 같습니다.
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 객체의 Timestamp 표현 반환
# freq 매개변수로 빈도 설정
print("\nPeriod to Timestamp...\n", period.to_timestamp(freq='T'))
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period...
2021-09-18 17:20:45
Period to Timestamp...
2021-09-18 17:20:00
결과 해석
원본 Period 객체는 초 단위 빈도(freq="S")로 생성되었기 때문에 2021-09-18 17:20:45까지 표시됩니다. 반면 to_timestamp(freq='T')를 적용하면 분 단위 빈도가 적용되어 초 정보가 잘린 2021-09-18 17:20:00이 반환됩니다. 즉, freq 매개변수에 지정한 빈도 수준에 맞춰 Timestamp 값이 결정된다는 점을 확인할 수 있습니다.