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

Python Pandas – floor() 메서드로 지정된 해상도의 새 Timedelta 반환하기

파이썬 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() 메서드를 함께 참고하시기 바랍니다.