Pandas에서 Timedelta 객체를 지정한 해상도로 올림(ceil) 처리하려면 timedelta.ceil() 메서드를 사용합니다. 시간(hourly) 단위로 올림하려면 freq 매개변수에 'H' 값을 설정하면 됩니다.
필요한 라이브러리 가져오기
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
Timedelta 객체 생성
TimeDelta는 Python의 표준 datetime 라이브러리에서 사용하는 timedelta의 다른 표현 방식입니다. 아래와 같이 Timedelta 객체를 생성할 수 있습니다.
timedelta = pd.Timedelta('6 days 11 hours 1 min 30 s')생성된 Timedelta를 화면에 출력해 보겠습니다.
print("Timedelta...\n", timedelta)시간 단위 해상도로 올림 처리
freq='H'를 지정하여 시간(hourly) 단위 해상도로 올림된 결과를 반환합니다.
timedelta.ceil(freq='H')
전체 예제 코드
다음은 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# TimeDelta는 Python 표준 datetime 라이브러리의 timedelta를 다르게 표현한 것입니다.
# Timedelta 객체 생성
timedelta = pd.Timedelta('6 days 11 hours 1 min 30 s')
# Timedelta 출력
print("Timedelta...\n", timedelta)
# 시간(hourly) 단위 해상도로 올림된 결과 반환
res = timedelta.ceil(freq='H')
# 올림된 결과 출력
print("\nTimedelta (hourly ceiled)...\n", res)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
Timedelta... 6 days 11:01:30 Timedelta (hourly ceiled)... 6 days 12:00:00
결과를 보면 원래 값 '6일 11시간 1분 30초'가 시간 단위로 올림되어 '6일 12시간 0분 0초'로 변환된 것을 확인할 수 있습니다. 이처럼 ceil() 메서드는 분·초 등 더 작은 단위가 남아 있을 때 지정한 해상도의 가장 가까운 위 값으로 반올림(올림)해 줍니다.