Convertir timedelta a punto flotante

Obtuve un objeto timedelta de la resta de dos tiempos de datos. Necesito este valor como punto flotante para futuros cálculos. Todo lo que he encontrado permite el cálculo con puntos flotantes, pero el resultado sigue siendo un objeto timedelta.

time_d = datetime_1 - datetime_2 time_d_float = float(time_d) 

No funciona.

Podrías usar el método total_seconds :

 time_d_float = time_d.total_seconds() 

En las versiones recientes de Python, puedes dividir dos timedelta s para dar una flotación. Esto es útil si necesita que el valor esté en unidades distintas de segundos.

 time_d_min = time_d / datetime.timedelta(minutes=1) time_d_ms = time_d / datetime.timedelta(milliseconds=1) 

Podrías usar numpy para resolver eso:

 import pandas as pd import numpy as np time_d = datetime_1 - datetime_2 #for a single value number_of_days =pd.DataFrame([time_d]).apply(np.float32) #for a Dataframe number_of_days = time_d.apply(np.float32) 

Espero que sea de ayuda!

Si necesita la cantidad de días como número flotante, puede usar el atributo de días de timedelta

 time_d = datetime_1 - datetime_2 number_of_days = float(time_d.days) 

Tuve el mismo problema antes y utilicé timedelta.total_seconds para obtener la duración estimada en segundos con float y funciona. Espero que esto funcione para ti.

 from datetime import timedelta,datetime time_d = datetime_1 - datetime_2 time_d.total_seconds()