从unixtime转换为numpy.datetime64的最快方法是什么?

时间:2012-01-16 14:07:34

标签: python numpy unix-timestamp

我认为这里的关键是中间转换数量较少,但我无法在新的Numpy 2.0开发中找到一种简单的方法

2 个答案:

答案 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