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
?