Какой самый быстрый способ конвертировать из unixtime в numpy.datetime64? - PullRequest
3 голосов
/ 16 января 2012

Я полагаю, что здесь ключ к меньшему количеству промежуточных конверсий, но я не могу найти простой способ в новом Numpy 2.0 dev

1 Ответ

4 голосов
/ 16 января 2012

На самом деле, 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]
...