I suppose that the key here is to have the less number of intermediate conversions but I'm not able to find a simple way in the new Numpy 2.0 dev
Actually, numpy.datetime64 objects are basically unix times internally (with 6 extra significant digits to account for millisecond precision). You just need to multiply by 1e6.
As an example:
import numpy as np
# Generate a few unix time stamps near today...
x = np.arange(1326706251, 1326706260)
# Convert to datetimes...
x *= 1e6
x = x.view(np.datetime64)
print x
This yields:
[2012-01-16 09:30:51 2012-01-16 09:30:52 2012-01-16 09:30:53
2012-01-16 09:30:54 2012-01-16 09:30:55 2012-01-16 09:30:56
2012-01-16 09:30:57 2012-01-16 09:30:58 2012-01-16 09:30:59]
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