Pandas의 TimedeltaIndex 객체에서 각 요소의 초(seconds) 값을 추출하려면 TimedeltaIndex.seconds 속성을 사용하면 됩니다. 이 속성은 각 시간 델타(timedelta)에서 '일(day)' 단위를 제외한 나머지 부분, 즉 시·분·초를 모두 합산한 초 값을 정수형으로 반환합니다.
참고로 전체 기간을 초로 변환하고 싶다면 .total_seconds() 메서드를 사용해야 하며, .seconds는 일 단위를 포함하지 않는다는 점을 유의해야 합니다.
1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. 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'])
3. TimedeltaIndex 출력
print("TimedeltaIndex...\n", tdIndex)4. 각 요소에서 초(seconds) 값 추출
.seconds 속성을 사용하여 TimedeltaIndex의 각 요소에서 초 값을 가져옵니다.
print("\nTimedeltaIndex 객체에서 추출한 초 값...\n", tdIndex.seconds)전체 예제 코드
아래는 위 과정을 모두 포함한 완전한 예제 코드입니다.
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)
# 각 요소에서 초(seconds) 값 출력
print("\nTimedeltaIndex 객체에서 추출한 초 값...\n", tdIndex.seconds)
# Timedelta의 구성 요소(일, 시, 분, 초 등)를 DataFrame으로 반환
print("\nTimeDeltas 구성 요소의 DataFrame...\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([18155, 81559, 25682, 76545], dtype='int64')
TimeDeltas 구성 요소의 DataFrame...
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일 5시간 2분 35초): 일 단위를 제외한 5시간 2분 35초 → 5×3600 + 2×60 + 35 = 18,155초
- 두 번째 요소(22시간 39분 19.999999초): 22×3600 + 39×60 + 19 = 81,559초
- 세 번째 요소(2일 7시간 8분 2초): 일 단위를 제외한 7시간 8분 2초 → 25,682초
- 네 번째 요소(21시간 15분 45.999999초): 76,545초
또한 .components 속성을 활용하면 일, 시, 분, 초, 밀리초, 마이크로초, 나노초 등 각 구성 요소를 DataFrame 형태로 한눈에 확인할 수 있어 시간 데이터 분석에 매우 유용합니다.