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

Python Pandas – 시간(H) 단위로 내림 처리된 새로운 Timedelta 반환하기

Pandas에서 timedelta.floor() 메서드를 사용하면 지정된 해상도로 내림(floor) 처리된 새로운 Timedelta 객체를 반환할 수 있습니다. 시간(hourly) 단위로 내림하려면 freq 매개변수에 'H' 값을 설정하면 됩니다.

라이브러리 임포트

먼저 필요한 pandas 라이브러리를 가져옵니다.

import pandas as pd

TimeDelta는 파이썬 표준 datetime 라이브러리의 timedelta를 다른 방식으로 표현한 것입니다. 이제 Timedelta 객체를 생성해 보겠습니다.

timedelta = pd.Timedelta('4 days 10 hours 2 min 45 s')

생성한 Timedelta 객체를 출력합니다.

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

freq 매개변수를 'H'로 설정하여 시간 단위로 내림한 결과를 반환합니다.

timedelta.floor(freq='H')

전체 예제 코드

다음은 위 과정을 모두 포함한 전체 코드입니다.

import pandas as pd

# TimeDelta는 파이썬 표준 datetime 라이브러리의 timedelta를 다른 방식으로 표현한 것입니다.
# Timedelta 객체 생성
timedelta = pd.Timedelta('4 days 10 hours 2 min 45 s')

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

# freq='H'로 설정하여 시간 단위로 내림한 Timedelta 반환
res = timedelta.floor(freq='H')

# 내림 처리된 Timedelta 출력
print("\nTimedelta (hourly floored)...\n", res)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Timedelta...
4 days 10:02:45

Timedelta (hourly floored)...
4 days 10:00:00

실행 결과를 살펴보면 원래 값인 '4 days 10:02:45'에서 분(2분)과 초(45초)가 잘려나가고 '4 days 10:00:00'으로 내림 처리된 것을 확인할 수 있습니다. 이처럼 floor() 메서드는 freq 매개변수에 지정한 단위보다 작은 값들을 버리고 해당 단위 기준으로 값을 내립니다.