python - 如何在 np.void 的 ndarray 中有效地将毫秒偏移量转换为 np.datetime64
问题描述
好的,请耐心等待,我才刚刚开始使用 NumPy。
我有一个时间序列拆分多个文件。每个文件捕获一天的数据。每条记录中的时间字段只是自那天开始以来的毫秒数
现在我正在尝试使用 numpy 读取这些数据,但我无法将毫秒转换为np.datetime64
.
到目前为止我有什么:
t_base = np.datetime64(<some_date>)
dtype = np.dtype([
("t", "i4"),
...<other fields here>...
])
data = np.fromfile(filename, dtype)
这给了我一个一维ndarray
的np.void
。到目前为止,一切都很好。
我尝试了什么:
for record in np.nditer(data, op_flags["readwrite"]):
record["t"] = t_base + np.timedelta64(int(record["t"]), "ms")
不幸的是,这不会改变类型。相反,它将构造的转换datetime64
回int32
,这是不正确的,因为 int32 没有以毫秒为单位捕获时间的范围。那么如何以有效的方式完成这项工作呢?显然,转换后我不再需要毫秒偏移量。
或者,有没有办法fromfile
将一个读int32
入int64
类型?然后我可以使用int64
as 时间戳而不是datetime64
.
解决方案
推荐阅读
- python - 电池是否实时插入(在 Linux 上),需要在代码中快速修复
- r - 使用数据框从嵌套列表中绘制 ggplot
- python - 获取两个日期时间对象之间的时间差,如小时、分钟和秒
- c# - 事件实例字段成员可以为空吗(假设它没有被强制设置为空)?
- python - 如何在odeint中使用已知值?
- python - 使用 Kitti 图像从 ResNet101 主干中获取 Nan 结果
- java - Boolean Expression for two conditions of an element of a list
- php - 如何从 symfony 3.4 中的测试类传递 ContainerInterface
- reactjs - Reactjs 路由器无法获取 /page
- java - 使用多个 Java 类的 React-Native