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

pandas Timedelta 객체를 Python timedelta 객체로 변환하는 방법

pandas의 Timedelta 객체를 Python 표준 라이브러리의 timedelta 객체로 변환하려면 to_pytimedelta() 메서드를 사용하면 됩니다. pandas의 Timedelta는 나노초(nanosecond) 단위의 정밀도를 지원하지만, Python 표준 timedelta는 마이크로초(microsecond)까지만 지원하기 때문에 변환 시 나노초 정보는 손실된다는 점에 유의해야 합니다.

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

import pandas as pd

Timedelta 객체를 생성합니다.

timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')

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

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

to_pytimedelta() 메서드를 호출하면 pandas Timedelta 객체가 Python timedelta 객체로 변환됩니다. 이때 나노초 단위의 정밀도는 손실됩니다.

timedelta.to_pytimedelta()

전체 예제 코드

다음은 지금까지 설명한 내용을 정리한 전체 코드입니다.

import pandas as pd

# TimeDelta는 Python 표준 datetime 라이브러리의 timedelta와 다른 방식으로 시간을 표현합니다

# Timedelta 객체 생성
timedelta = pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')

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

# pandas Timedelta 객체를 Python timedelta 객체로 변환
res = timedelta.to_pytimedelta()

# 변환된 Timedelta 객체 출력
# 나노초 단위의 정밀도는 손실됩니다
print("\nTimedelta object after converting...\n", res)

실행 결과

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

Timedelta...
2 days 11:22:25.050000045

Timedelta object after converting...
2 days, 11:22:25.050000

출력 결과를 보면 원래 Timedelta 값인 2 days 11:22:25.050000045에서 나노초 자릿수(045)가 제거되고, Python timedelta 형식인 2 days, 11:22:25.050000으로 변환된 것을 확인할 수 있습니다.