개요
Pandas에서 Period 객체는 특정 기간(시점의 구간)을 나타내는 자료형입니다. 이때 해당 기간이 끝나는 시점을 확인하고 싶다면 end_time 속성을 사용하면 됩니다. 이 속성은 Period 객체가 포괄하는 구간의 마지막 순간을 Timestamp 형태로 반환합니다.
이 글에서는 Period 객체를 생성하고 end_time 속성으로 종료 시간을 조회하는 방법을 예제와 함께 살펴보겠습니다.
라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Period 객체 생성하기
pandas.Period는 하나의 시간 구간을 표현합니다. 두 가지 방식으로 Period 객체를 생성해 보겠습니다. 첫 번째는 문자열로 직접 지정하는 방법이고, 두 번째는 freq(주기)와 함께 연, 월, 일, 시, 분을 개별 인자로 전달하는 방식입니다.
period1 = pd.Period("2020-09-23 03:55:20")
period2 = pd.Period(freq="T", year=2021, month=2, day=14, hour=2, minute=35)생성된 Period 객체를 출력해 확인합니다.
print("Period1...\n", period1)
print("Period2...\n", period2)종료 시간(end_time) 가져오기
각 Period 객체에서 end_time 속성을 사용해 종료 시간을 추출합니다.
res1 = period1.end_time res2 = period2.end_time
전체 예제 코드
지금까지의 내용을 하나의 완성된 코드로 정리하면 다음과 같습니다.
import pandas as pd
# pandas.Period는 하나의 시간 구간을 나타냅니다
# 두 개의 Period 객체 생성
period1 = pd.Period("2020-09-23 03:55:20")
period2 = pd.Period(freq="T", year=2021, month=2, day=14, hour=2, minute=35)
# Period 객체 출력
print("Period1...\n", period1)
print("Period2...\n", period2)
# 각 Period 객체의 종료 시간 가져오기
res1 = period1.end_time
res2 = period2.end_time
# 결과 출력
print("\n첫 번째 Period 객체의 종료 시간 ...\n", res1)
print("\n두 번째 Period 객체의 종료 시간 ...\n", res2)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Period1... 2020-09-23 03:55:20 Period2... 2021-02-14 02:35 첫 번째 Period 객체의 종료 시간 ... 2020-09-23 03:55:20.999999999 두 번째 Period 객체의 종료 시간 ... 2021-02-14 02:35:59.999999999
결과 해석
출력 결과를 보면 흥미로운 점을 발견할 수 있습니다. Period 객체의 종료 시간은 단순히 시작 시각 그대로가 아니라, 해당 주기(freq)가 끝나는 마지막 나노초까지 포함한 값으로 반환됩니다.
- period1: 초(second) 단위 주기이므로 종료 시간이
03:55:20.999999999, 즉 해당 초의 마지막 나노초까지 표시됩니다. - period2: freq="T"(분)로 지정했기 때문에 종료 시간이
02:35:59.999999999, 즉 해당 분의 마지막 순간까지 확장되어 반환됩니다.
즉, end_time 속성은 Period가 나타내는 구간의 '닫힌 끝점(closed endpoint)'을 의미하며, 반대로 시작 시점을 알고 싶다면 start_time 속성을 사용하면 됩니다. 시간 구간 데이터를 다룰 때 이 두 속성을 함께 활용하면 구간의 경계를 정확하게 파악할 수 있습니다.