Pandas에서 Timedelta를 Int로 변환
이 튜토리얼에서는 Pandas의 dt
속성을 사용하여 timedelta
를 int
로 변환하는 방법에 대해 설명합니다.
Pandas에서 dt
속성을 사용하여 timedelta
를 int
로 변환
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
로 변경해야 합니다.
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