Me gustaría crear una columna en un marco de datos de pandas que sea una representación entera del número de días en una columna timedelta. ¿Es posible usar 'datetime.days' o necesito hacer algo más manual?
columna timedelta
7 días, 23:29:00
columna de día entero
7

timedelta.days?Respuestas:
Utilice el
dt.daysatributo. Acceda a este atributo a través de:También puede obtener los atributos
secondsymicrosecondsde la misma manera.fuente
Podrías hacer esto, dónde
tdestá tu serie de timedeltas. La división convierte los deltas de nanosegundos en deltas de días y la conversión a int se reduce a días completos.fuente
/entretdynp?Objetos de sólo lectura timedelta han atributos de instancia
.days,.secondsy.microseconds.fuente
Si la pregunta no es solo "¿cómo acceder a una forma entera del timedelta?" pero "¿cómo convertir la columna timedelta en el marco de datos a un int?" la respuesta puede ser un poco diferente. Además del
.dt.daysdescriptor de acceso, necesitadf.astypeopd.to_numericCualquiera de estas opciones debería ayudar:
o
fuente
timedelta64[ns]. Si sus fechas son NaN, primero conviértalas a fecha y hora usando lato_datetimefunción pandas , luego use la segunda opción anterior. Para obtener más detalles, visite to_datetime