TimeDeltaIndex 객체의 각 요소에서 나노초(nanoseconds) 값을 추출하려면 TimedeltaIndex.nanoseconds 속성을 사용하면 됩니다. 이 속성은 일(day), 시간(hour) 등 상위 시간 단위를 제외한 나노초 성분만 정수형(Int64)으로 반환합니다.
필요한 라이브러리 가져오기
가장 먼저 pandas 라이브러리를 임포트합니다.
import pandas as pd
TimeDeltaIndex 객체 생성
'data' 매개변수에 timedelta 형식의 문자열 리스트를 전달하여 TimeDeltaIndex 객체를 생성합니다.
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 3us 10ns', '+22:39:19.999999', '2 day 4h 03:08:02.000045', '+21:15:45.999999'])
이제 TimeDeltaIndex 객체의 각 요소에서 나노초 값을 출력해 보겠습니다.
print("\nTimeDeltaIndex 객체에서 추출한 나노초...\n", tdIndex.nanoseconds)전체 예제 코드
아래는 지금까지 설명한 내용을 모두 담은 전체 코드입니다.
import pandas as pd
# TimeDeltaIndex 객체 생성
# 'data' 매개변수를 사용하여 timedelta 형식의 데이터 설정
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 35s 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])
# TimedeltaIndex 출력
print("TimedeltaIndex...\n", tdIndex)
# TimeDeltaIndex 객체의 각 요소에서 나노초 값 출력
print("\nTimeDeltaIndex 객체에서 추출한 나노초...\n",
tdIndex.nanoseconds)
# TimeDelta의 구성 요소를 데이터프레임 형태로 반환
print("\nTimeDelta 구성 요소 데이터프레임...\n", tdIndex.components)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
TimedeltaIndex... TimedeltaIndex(['10 days 05:02:35.000003010', '0 days 22:39:19.999999', '2 days 07:08:02.000045', '0 days 21:15:45.999999'], dtype='timedelta64[ns]', freq=None) TimeDeltaIndex 객체에서 추출한 나노초... Int64Index([10, 0, 0, 0], dtype='int64') TimeDelta 구성 요소 데이터프레임... days hours minutes seconds milliseconds microseconds nanoseconds 0 10 5 2 35 0 3 10 1 0 22 39 19 999 999 0 2 2 7 8 2 0 45 0 3 0 21 15 45 999 999 0
결과 해석
출력 결과를 살펴보면, 첫 번째 요소인 '10 day 5h 2 min 35s 3us 10ns'에서만 나노초 값이 10으로 추출되고, 나머지 요소들은 나노초 성분이 없어 모두 0이 반환된 것을 확인할 수 있습니다.
또한 components 속성을 활용하면 일(day), 시간(hour), 분(minute), 초(second), 밀리초(millisecond), 마이크로초(microsecond), 나노초(nanosecond) 등 각 시간 단위별 구성 요소를 데이터프레임 형태로 한눈에 파악할 수 있어, 복잡한 시간 델타 데이터를 분석할 때 매우 유용합니다.