好吧,听我说,我才刚开始用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
作为时间戳,而不是datetime64
。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐