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

Python Pandas – TimeDeltaIndex에서 각 요소의 일(day) 수 추출하기

TimeDeltaIndex 객체의 각 요소에서 일(day) 수를 추출하려면 TimedeltaIndex.days 속성을 사용하면 됩니다. 이 속성은 각 timedelta 값에 포함된 전체 일수를 정수 형태로 반환합니다.

라이브러리 가져오기

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

import pandas as pd

TimeDeltaIndex 객체 생성

이제 TimeDeltaIndex 객체를 생성합니다. 'data' 매개변수를 사용하여 timedelta 형식의 데이터를 설정할 수 있습니다.

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

TimeDeltaIndex 출력하기

생성된 TimedeltaIndex를 화면에 표시해 보겠습니다.

print("TimedeltaIndex...\n", tdIndex)

일(day) 수 추출하기

TimeDeltaIndex의 각 요소에서 일 수를 추출하여 출력합니다.

print("\nThe number of days from the TimeDeltaIndex object...\n", tdIndex.days)

전체 예제 코드

다음은 지금까지 설명한 내용을 모두 포함한 전체 코드입니다.

import pandas as pd

# TimeDeltaIndex 객체 생성
# 'data' 매개변수를 사용하여 timedelta 형식의 데이터를 설정
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# TimedeltaIndex 출력
print("TimedeltaIndex...\n", tdIndex)

# TimeDeltaIndex 각 요소의 일 수 출력
print("\nThe number of days from the TimeDeltaIndex object...\n", tdIndex.days)

# TimeDelta 구성 요소들을 데이터프레임으로 반환
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

실행 결과

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

The number of days from the TimeDeltaIndex object...
Int64Index([10, 0, 2, 0], dtype='int64')

The Dataframe of the components of TimeDeltas...
     days hours   minutes seconds milliseconds microseconds nanoseconds
 0    10    5         2       0      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

결과 해석

출력 결과를 살펴보면 다음과 같은 특징을 확인할 수 있습니다.

tdIndex.days 속성은 Int64Index([10, 0, 2, 0])를 반환했습니다. 첫 번째 요소는 10일이 포함되어 있어 10을, 두 번째와 네 번째 요소는 시간 단위의 값만 있어 0을, 세 번째 요소는 2일이 포함되어 있어 2를 반환한 것입니다.

또한 components 속성을 사용하면 일(days), 시간(hours), 분(minutes), 초(seconds), 밀리초(milliseconds), 마이크로초(microseconds), 나노초(nanoseconds) 등 timedelta의 모든 구성 요소를 데이터프레임 형태로 한눈에 확인할 수 있습니다. 이는 복잡한 시간 간격 데이터를 분석할 때 매우 유용합니다.