3
我想,這裏的關鍵是要有中間轉換的次數少,但我沒能找到新numpy的2.0開發一個簡單的方法什麼是從unixtime轉換爲numpy.datetime64的最快方式?
我想,這裏的關鍵是要有中間轉換的次數少,但我沒能找到新numpy的2.0開發一個簡單的方法什麼是從unixtime轉換爲numpy.datetime64的最快方式?
其實,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]
乘以1E6似乎溢出np.datetime64。另一方面,使用np.datetime64(1326706251,'s')似乎給出了我想要的結果。你使用哪個版本的numpy? – tonicebrian 2012-01-17 12:51:04
我正在使用'1.6'。它不會爲我溢出,'np.datetime64'不會爲我帶來第二個參數,無論是... – 2012-01-17 16:13:08
好的,也許是我使用2.0 dev。謝謝!! – tonicebrian 2012-01-17 16:25:44