【发布时间】:2012-01-16 14:07:34
【问题描述】:
我想这里的关键是减少中间转换的数量,但我无法在新的 Numpy 2.0 开发中找到简单的方法
【问题讨论】:
标签: python numpy unix-timestamp
我想这里的关键是减少中间转换的数量,但我无法在新的 Numpy 2.0 开发中找到简单的方法
【问题讨论】:
标签: python numpy unix-timestamp
实际上,numpy.datetime64 对象在内部基本上是 unix 时间(有 6 个额外的有效数字来说明毫秒精度)。你只需要乘以1e6。
举个例子:
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
这会产生:
[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]
【讨论】:
1.6。它对我来说不会溢出,np.datetime64 也不会为我接受第二个参数......
从 NumPy 1.18 开始:
import numpy as np
timestamp = np.datetime64(1326706251, 's')
print(timestamp)
输出:
2012-01-16T09:30:51
【讨论】:
a,你可以做a.astype('datetime64[s]')