timedelta 열의 일 수를 정수로 표현한 팬더 데이터 프레임에 열을 만들고 싶습니다. 'datetime.days'를 사용할 수 있습니까? 아니면 더 수동으로해야합니까?
timedelta 열
7 일 23:29:00
일 정수 열
7
timedelta 열의 일 수를 정수로 표현한 팬더 데이터 프레임에 열을 만들고 싶습니다. 'datetime.days'를 사용할 수 있습니까? 아니면 더 수동으로해야합니까?
timedelta 열
7 일 23:29:00
일 정수 열
7
답변:
dt.days속성을 사용하십시오 . 다음을 통해이 속성에 액세스하십시오.
timedelta_series.dt.days
같은 방법으로 seconds및 microseconds속성을 가져올 수도 있습니다 .
td일련의 타임 델타는 어디에 있습니까 ? 나눗셈은 나노초 델타를 일 델타로 변환하고 int 로의 변환은 하루 전체로 떨어집니다.
import numpy as np
(td / np.timedelta64(1, 'D')).astype(int)
/사이의 위해 td와 np?
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')
timedelta64[ns]이었습니다. 날짜가 NaN 인 경우 먼저 pandas to_datetime함수를 사용 하여 날짜를 datetime으로 변환 한 다음 위의 두 번째 옵션을 사용합니다. 자세한 내용은 to_datetime
timedelta.days?