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

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

timedelta 열

7 일 23:29:00

일 정수 열

7



답변

dt.days속성을 사용하십시오 . 다음을 통해이 속성에 액세스하십시오.

timedelta_series.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')


답변