Convert timedelta to floating-point

后端 未结 5 2092
攒了一身酷
攒了一身酷 2020-12-13 08:17

I got a timedelta object from the subtraction of two datetimes. I need this value as floating point for further calculations. All that I\'ve found enables the calculation wi

相关标签:
5条回答
  • 2020-12-13 08:54

    You could use numpy to solve that:

    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)
    

    Hope it is helpful!

    0 讨论(0)
  • 2020-12-13 08:58

    You could use the total_seconds method:

    time_d_float = time_d.total_seconds()
    
    0 讨论(0)
  • 2020-12-13 09:01

    If you needed the number of days as a floating number you can use timedelta's days attribute

    time_d = datetime_1 - datetime_2
    number_of_days = float(time_d.days)
    
    0 讨论(0)
  • 2020-12-13 09:16

    I had the same problem before and I used timedelta.total_seconds to get Estimated duration into seconds with float and it works. I hope this works for you.

    from datetime import timedelta,datetime
    
    time_d = datetime_1 - datetime_2
    
    time_d.total_seconds()                  
    
    0 讨论(0)
  • 2020-12-13 09:20

    In Python 3.2 or higher, you can divide two timedeltas to give a float. This is useful if you need the value to be in units other than seconds.

    time_d_min = time_d / datetime.timedelta(minutes=1)
    time_d_ms  = time_d / datetime.timedelta(milliseconds=1)
    
    0 讨论(0)
提交回复
热议问题