首页 > 解决方案 > 从 numpy 数组浮点数创建日期时间对象

问题描述

我有一个 numpy 数组,其中包含 4 天的小时数:

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

我想从中创建一个日期时间对象。

我知道第一个元素位于时间戳 2021-03-21 00:00,所以:

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

如何创建一个包含日期时间的新数组,从s数组中增加一个小时。

标签: python-3.xdatetime

解决方案


用于timedelta构建新阵列:

>>> 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)]

推荐阅读