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

Python Pandas – 일(Day) 단위 올림 해상도로 새로운 Timedelta 반환하기

개요

기존 Timedelta 값을 지정한 해상도 기준으로 올림(ceil)한 새로운 Timedelta를 반환하려면 timedelta.ceil() 메서드를 사용합니다. 일(Day) 단위로 올림 처리하려면 freq 매개변수에 'D' 값을 지정하면 됩니다.

필요 라이브러리 가져오기

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

import pandas as pd

Timedelta 객체 생성

TimeDelta는 파이썬 표준 datetime 라이브러리에서 사용하는 시간 차이(timedelta) 표현 방식으로, pandas에서는 pd.Timedelta()를 통해 손쉽게 생성할 수 있습니다.

timedelta = pd.Timedelta('6 days 1 min 30 s')

생성된 Timedelta 객체를 화면에 출력해 확인합니다.

print("Timedelta...\n", timedelta)

일 단위 올림 결과 반환

ceil(freq='D')를 호출하면 해당 Timedelta를 가장 가까운 '일' 단위 위쪽 값으로 올린 새로운 Timestamp를 얻을 수 있습니다.

timedelta.ceil(freq='D')

전체 예제 코드

다음은 지금까지 설명한 내용을 모두 포함한 완성된 예제입니다.

import pandas as pd

# TimeDelta는 파이썬 표준 datetime 라이브러리의 시간 차이 표현 방식입니다.
# Timedelta 객체 생성
timedelta = pd.Timedelta('6 days 1 min 30 s')

# Timedelta 출력
print("Timedelta...\n", timedelta)

# 일 단위 올림 해상도로 새로운 Timedelta 반환
res = timedelta.ceil(freq='D')

# 올림된 결과 출력
print("\nTimedelta (daily ceiled)...\n", res)

실행 결과

위 코드를 실행하면 다음과 같은 출력이 생성됩니다.

Timedelta...
6 days 00:01:30

Timedelta (daily ceiled)...
7 days 00:00:00

실행 결과를 보면 원래 값이 6일 0시간 1분 30초였지만, 일 단위로 올림 처리되어 7일 0시간 0분 0초가 반환된 것을 확인할 수 있습니다. 이처럼 ceil() 메서드는 시간 데이터를 특정 해상도 단위로 반올림(올림) 처리할 때 유용하게 활용됩니다.