George
George

Reputation: 5691

Create datetime object from numpy array floats

I have a numpy array which contains hours from 4 days:

s = np.array([0.0, 1.0, 2.0, 3.0, 4.0 ....96.0])

I want to create a datetime object from that.

I know that the first element is at timestamp 2021-03-21 00:00, so:

start_date = datetime.datetime.strptime('2021-03-21 00:00', '%Y-%m-%d %H:%M')

How can I create a new array which contains datetimes, incremented by an hour from the s array.

Upvotes: 0

Views: 245

Answers (1)

yvesonline
yvesonline

Reputation: 4857

Use timedelta to build your new array:

>>> import numpy as np
>>> from datetime import datetime, timedelta
>>> s = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 96.0])
>>> start_date = datetime.strptime('2021-03-21 00:00', '%Y-%m-%d %H:%M')
>>> [start_date + timedelta(hours=diff) for diff in s]
[datetime.datetime(2021, 3, 21, 0, 0), datetime.datetime(2021, 3, 21, 1, 0), datetime.datetime(2021, 3, 21, 2, 0), datetime.datetime(2021, 3, 21, 3, 0), datetime.datetime(2021, 3, 21, 4, 0), datetime.datetime(2021, 3, 25, 0, 0)]

Upvotes: 1

Related Questions