it-swarm.com.de

Konvertieren Sie das Timedelta in Fließkommazahl

Ich habe ein Timedelta-Objekt aus der Subtraktion von zwei Datumsangaben erhalten. Ich brauche diesen Wert als Fließkomma für weitere Berechnungen. Alles, was ich gefunden habe, ermöglicht die Berechnung mit Fließkommazahlen, aber das Ergebnis.

time_d = datetime_1 - datetime_2
time_d_float = float(time_d)

funktioniert nicht.

36
fidelitas

Sie können die Methode total_seconds verwenden:

time_d_float = time_d.total_seconds()
51
unutbu

In aktuellen Versionen von Python können Sie zwei timedeltas teilen, um einen Float zu erhalten. Dies ist nützlich, wenn der Wert in anderen Einheiten als Sekunden liegen soll.

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

Sie könnten numpy verwenden, um das zu lösen:

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)

Hoffe es ist hilfreich!

2
Monique Marins

Wenn Sie die Anzahl der Tage als Floating-Nummer benötigen, können Sie das days-Attribut von timedelta verwenden

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