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

Python Pandas – 나노초(ns) 정밀도로 numpy.timedelta64 객체 반환하기

Pandas에서 Timedelta 객체를 나노초(ns) 정밀도의 numpy.timedelta64 객체로 변환하려면 to_timedelta64() 메서드를 사용하면 됩니다. 이 메서드는 Timedelta에 저장된 시간 값을 NumPy에서 처리할 수 있는 형태로 그대로 변환해 주기 때문에, NumPy 기반의 수치 연산이나 배열 연산과 함께 활용할 때 특히 유용합니다.

to_timedelta64() 메서드 사용 방법

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

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)

이제 나노초 정밀도의 numpy.timedelta64 객체를 반환합니다.

timedelta.to_timedelta64()

전체 예제 코드

아래는 위 과정을 하나로 묶은 전체 코드입니다.

import pandas as pd

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

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

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

# numpy.timedelta64 객체로 변환
res = timedelta.to_timedelta64()

# 나노초(ns) 정밀도의 numpy.timedelta64 객체 출력
print("\n나노초 정밀도의 numpy.timedelta64 객체...\n", res)

실행 결과

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

Timedelta...
2 days 11:22:25.050000045

나노초 정밀도의 numpy.timedelta64 객체...
213745050000045 nanoseconds

정리

이 예제에서 볼 수 있듯이, pd.Timedelta('2 days 11 hours 22 min 25 s 50 ms 45 ns')로 생성한 객체는 사람이 읽기 쉬운 형태인 2 days 11:22:25.050000045로 표시됩니다. 반면 to_timedelta64()를 호출하면 총 시간이 나노초 단위의 정수 값인 213745050000045 nanoseconds로 변환됩니다. 이처럼 두 표현 방식은 동일한 시간을 나타내지만, 용도에 따라 적합한 형태를 선택하여 사용하면 됩니다.