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

Python Pandas – 일(Day) 단위로 내림한 새로운 Timedelta 반환하기

특정 해상도로 내림(floor) 처리된 새로운 Timedelta 객체를 반환하려면 timedelta.floor() 메서드를 사용합니다. 일(day) 단위 해상도로 내림하려면 freq 매개변수에 'D'(Day) 값을 지정하면 됩니다.

라이브러리 임포트

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

import pandas as pd

Timedelta 객체 생성

Timedelta는 Python 표준 datetime 라이브러리의 timedelta를 Pandas 고유의 형식으로 표현한 것입니다. 아래와 같이 기간을 나타내는 문자열을 전달하여 Timedelta 객체를 생성할 수 있습니다.

timedelta = pd.Timedelta('5 days 10 min 25 s')

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

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

일 단위로 내림하기

floor() 메서드에 freq='D'를 지정하면 일 단위 해상도로 내림된 새로운 Timedelta를 얻을 수 있습니다.

timedelta.floor(freq='D')

전체 예제 코드

지금까지 설명한 과정을 모두 담은 전체 코드는 다음과 같습니다.

import pandas as pd

# Timedelta는 Python 표준 datetime 라이브러리의 timedelta를
# Pandas 방식으로 표현한 것입니다
# Timedelta 객체 생성
timedelta = pd.Timedelta('5 days 10 min 25 s')

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

# 일 단위 해상도로 내림된 결과 반환
res = timedelta.floor(freq='D')

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

실행 결과

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

Timedelta...
5 days 00:10:25

Timedelta (daily floored)...
5 days 00:00:00

출력 결과를 보면 원래 값 '5 days 00:10:25'에서 시·분·초 정보가 잘리고 일 단위인 '5 days 00:00:00'으로 내림된 것을 확인할 수 있습니다. 이처럼 floor() 메서드는 시계열 데이터를 정규화하거나 날짜 단위로 집계를 수행할 때 유용하게 활용됩니다.