I have a numpy array called dt
. Each element is of type datetime.timedelta
. For example:
>>>dt[0]
datetime.timedelta(0, 1, 36000)
how can I convert dt
into the array dt_sec
which contains only seconds without looping? my current solution (which works, but I don't like it) is:
dt_sec = zeros((len(dt),1))
for i in range(0,len(dt),1):
dt_sec[i] = dt[i].total_seconds()
I tried to use dt.total_seconds()
but of course it didn't work. any idea on how to avoid this loop?
Thanks
import numpy as np
helper = np.vectorize(lambda x: x.total_seconds())
dt_sec = helper(dt)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With