我认为这里的关键是中间转换数量较少,但我无法在新的Numpy 2.0开发中找到一种简单的方法
答案 0 :(得分:4)
实际上,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 :(得分:1)
从NumPy 1.18开始:
import numpy as np
timestamp = np.datetime64(1326706251, 's')
print(timestamp)
输出:
2012-01-16T09:30:51