Nice programing

Python : 데이터 프레임에서 timedelta를 int로 변환

nicepro 2020. 10. 11. 11:21
반응형

Python : 데이터 프레임에서 timedelta를 int로 변환


timedelta 열의 일 수를 정수로 나타내는 팬더 데이터 프레임에 열을 만들고 싶습니다. 'datetime.days'를 사용할 수 있습니까? 아니면 더 수동으로해야합니까?

timedelta 열

7 일 23:29:00

일 정수 열

7


dt.days속성을 사용하십시오 . 타임 td델타 시리즈의 이름이 있다고 가정하면 다음을 통해이 속성에 액세스 할 수 있습니다.

td.dt.days

같은 방법으로 secondsmicroseconds속성을 가져올 수도 있습니다 .


td일련의 타임 델타는 어디에 있습니까 ? 나눗셈은 나노초 델타를 일 델타로 변환하고 int 로의 변환은 하루 전체로 떨어집니다.

import numpy as np

(td / np.timedelta64(1, 'D')).astype(int)

Timedelta 개체가있는 읽기 전용 인스턴스 특성 .days, .seconds.microseconds.


질문이 "타임 델타의 정수 형식에 액세스하는 방법"이 아니라면 그러나 "데이터 프레임의 timedelta 열을 int로 변환하는 방법은 무엇입니까?" 대답은 약간 다를 수 있습니다. .dt.days접근 자 외에도 df.astype또는pd.to_numeric

다음 옵션 중 하나가 도움이됩니다.

df['tdColumn'] = pd.to_numeric(df['tdColumn'].dt.days, downcast='integer')

또는

df['tdColumn'] = df['tdColumn'].dt.days.astype('int16')

참고 URL : https://stackoverflow.com/questions/25646200/python-convert-timedelta-to-int-in-a-dataframe

반응형