파이썬 Pandas에서 특정 해상도로 내림(floor)된 새로운 Timedelta 객체를 반환하려면 timedelta.floor() 메서드를 사용합니다. 원하는 해상도를 지정하려면 freq 매개변수에 빈도 문자열(예: 'D', 'H', 'T' 등)을 전달하면 됩니다.
Timedelta란?
Timedelta는 파이썬 표준 datetime 라이브러리의 timedelta를 Pandas 방식으로 표현한 것으로, 날짜와 시간의 차이를 나타내는 데 사용됩니다.
1. 필요한 라이브러리 임포트
먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
2. Timedelta 객체 생성
'6일 1분 30초'에 해당하는 Timedelta 객체를 생성합니다.
timedelta = pd.Timedelta('6 days 1 min 30 s')3. Timedelta 출력
생성된 Timedelta 값을 확인합니다.
print("Timedelta...\n", timedelta)4. 일(Day) 단위로 내림 처리
floor(freq='D')를 호출하면 시간·분·초 단위 값이 잘리고 일 단위까지의 값만 남습니다.
timedelta.floor(freq='D')
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
import pandas as pd
# Timedelta 객체 생성
timedelta = pd.Timedelta('6 days 1 min 30 s')
# Timedelta 출력
print("Timedelta...\n", timedelta)
# 일(Day) 빈도로 내림한 결과 반환
res = timedelta.floor(freq='D')
# 내림 처리된 Timedelta 출력
print("\nTimedelta (floored)...\n", res)실행 결과
위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.
Timedelta... 6 days 00:01:30 Timedelta (floored)... 6 days 00:00:00
정리
floor() 메서드는 지정한 빈도보다 작은 단위의 시간을 버리고 가장 가까운 아래 값으로 내림합니다. 위 예제에서 '6일 0시간 1분 30초'가 '6일 0시간 0분 0초'로 변환된 것을 확인할 수 있습니다. 반올림이 필요하다면 round(), 올림이 필요하다면 ceil() 메서드를 함께 참고하시기 바랍니다.