web-dev-qa-db-ja.com

timedeltaを浮動小数点に変換します

2つの日付時刻の減算からtimedeltaオブジェクトを取得しました。この値は、さらに計算するための浮動小数点として必要です。私が見つけたものはすべて、浮動小数点を使用した計算を可能にしますが、結果は依然としてtimedeltaオブジェクトです。

time_d = datetime_1 - datetime_2
time_d_float = float(time_d)

動作しません。

42
fidelitas

total_seconds メソッド:

time_d_float = time_d.total_seconds()
54
unutbu

Pythonの最近のバージョンでは、2つのtimedeltasを分割して浮動小数点数にすることができます。これは、値を秒以外の単位にする必要がある場合に役立ちます。

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

numpyを使用してそれを解決できます。

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)

お役に立てば幸いです!

4
Monique Marins

浮動小数点数として日数が必要な場合は、timedeltaの日数属性を使用できます

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