Pandas에서 Timedelta를 Int로 변환

Muhammad Maisam Abbas 2022년1월22일
Pandas에서 Timedelta를 Int로 변환

이 튜토리얼에서는 Pandas의 dt 속성을 사용하여 timedeltaint로 변환하는 방법에 대해 설명합니다.

Pandas에서 dt 속성을 사용하여 timedeltaint로 변환

timedelta를 정수 값으로 변환하기 위해 pandas 라이브러리의 dt 속성을 사용할 수 있습니다. dt 속성을 사용하면 timedelta의 구성 요소를 추출할 수 있습니다. 예를 들어 dt 속성을 사용하여 연도, 월, 일, 분 또는 초를 추출할 수 있습니다. 그렇게 하려면 dt 속성 뒤에 구성 요소의 이름을 써야 합니다. timedelta 변수의 모든 구성 요소를 표시하려면 components 속성을 사용할 수 있습니다. 예를 들어, pandas Series 속성을 사용하여 시계열을 만들고 components 속성을 사용하여 구성 요소를 표시해 보겠습니다.

import pandas as pd

time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.components

출력:

팬더 시계열

보시다시피 components 속성은 시계열의 모든 구성 요소를 보여줍니다. timedelta_range() 속성은 시계열을 생성하기 위해 위의 코드에서 사용됩니다. timedelta_range() 속성 내에서 시작 및 종료 지점과 시간이 변경되는 빈도를 정의할 수 있습니다. 해당 구성 요소의 이름을 사용하여 이러한 구성 요소를 추출할 수 있습니다. 예를 들어 위의 시계열에서 요일 성분을 추출해 보겠습니다. 아래 코드를 참조하십시오.

import pandas as pd

time_series = pd.Series(pd.timedelta_range(start="1 days", end="10 days", freq="1500T"))
time_series.dt.days

출력:

0    1
1    2
2    3
3    4
4    5
5    6
6    7
7    8
8    9
dtype: int64

위의 시계열에서 원하는 구성 요소를 추출할 수 있습니다. timedelta를 하루의 timedelta로 나누거나 astype() 속성을 사용하여 정수 부분을 추출하여 timedelta를 정수로 변환할 수도 있습니다. 예를 들어 timedelta 개체를 만들고 NumPy를 사용하여 날짜 값을 가져오기 위해 정수로 변환해 보겠습니다. 아래 코드를 참조하십시오.

import numpy as np

x = np.timedelta64(2058311000000000, "ns")
day = x.astype("timedelta64[D]")
days.astype(int)

출력:

23.0

timedelta는 실제로 int64 데이터 유형에 있으며 astype() 속성을 사용하여 int로 변환하여 원하는 구성 요소를 추출할 수 있습니다. 동일한 방법을 사용하여 timedelta를 시간, 초 또는 기타 구성 요소로 변환할 수도 있습니다. 그렇게 하려면 코드의 세 번째 줄에서 D를 시간의 경우 h로, 초의 경우 s로 변경해야 합니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

관련 문장 - Pandas DateTime