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로 변환됩니다. 이처럼 두 표현 방식은 동일한 시간을 나타내지만, 용도에 따라 적합한 형태를 선택하여 사용하면 됩니다.