Get total number of hours from a Pandas Timedelta? Get total number of hours from a Pandas Timedelta? python-3.x python-3.x

Get total number of hours from a Pandas Timedelta?


Just find out how many timedeltas of 1 hour fit into it:

import numpy as np>> td / np.timedelta64(1, 'h')26.0


Just try to show why pandas returns 2 hours.

import pandas as pdtd = pd.Timedelta('1 days 2 hours')td.componentsOut[45]: Components(days=1, hours=2, minutes=0, seconds=0, milliseconds=0, microseconds=0, nanoseconds=0)td / pd.Timedelta('1 hour')Out[46]: 26.0


I am getting the time delta in seconds and dividing it by 3600 to get hours

round(td.total_seconds() / 3600) .

When I tested in jupyter notebook this approach works faster

%timeit td / np.timedelta64(1, 'h') The slowest run took 19.10 times longer than the fastest. This could mean that an intermediate result is being cached. 100000 loops, best of 3: 4.58 µs per loop%timeit round(td.total_seconds() / 3600)The slowest run took 18.08 times longer than the fastest. This could mean that an intermediate result is being cached.1000000 loops, best of 3: 401 ns per loop