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

问题描述 投票:3回答:2

我想关键是要减少中间转换的次数,但我在新的Numpy 2.0开发版中找不到一个简单的方法。

python numpy unix-timestamp
2个回答
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]

0
投票

截至NumPy 1.18:

import numpy as np

timestamp = np.datetime64(1326706251, 's')
print(timestamp)

18: 输出:

2012-01-16T09:30:51
© www.soinside.com 2019 - 2024. All rights reserved.