如何准确显示numpy.timedelta64?
正如下面的代码所表明的,numpy.datetime64的表示在对象无法工作之前就已经溢出如何准确显示numpy.timedelta64?,numpy,timedelta,Numpy,Timedelta,正如下面的代码所表明的,numpy.datetime64的表示在对象无法工作之前就已经溢出 import numpy as np import datetime def showMeDifference( t1, t2 ): dt = t2-t1 dt64_ms = np.array( [ dt ], dtype = "timedelta64[ms]" )[0] dt64_us = np.array( [ dt ], dtype = "timedelta64[
import numpy as np
import datetime
def showMeDifference( t1, t2 ):
dt = t2-t1
dt64_ms = np.array( [ dt ], dtype = "timedelta64[ms]" )[0]
dt64_us = np.array( [ dt ], dtype = "timedelta64[us]" )[0]
dt64_ns = np.array( [ dt ], dtype = "timedelta64[ns]" )[0]
assert( dt64_ms / dt64_ns == 1.0 )
assert( dt64_us / dt64_ms == 1.0 )
assert( dt64_ms / dt64_us == 1.0 )
print str( dt64_ms )
print str( dt64_us )
print str( dt64_ns )
t1 = datetime.datetime( 2014, 4, 1, 12, 0, 0 )
t2 = datetime.datetime( 2014, 4, 1, 12, 0, 1 )
showMeDifference( t1, t2 )
t1 = datetime.datetime( 2014, 4, 1, 12, 0, 0 )
t2 = datetime.datetime( 2014, 4, 1, 12, 1, 0 )
showMeDifference( t1, t2 )
t1 = datetime.datetime( 2014, 4, 1, 12, 0, 0 )
t2 = datetime.datetime( 2014, 4, 1, 13, 0, 0 )
showMeDifference( t1, t2 )
print "These are for " + np.__version__
这只是np.timedelta64中的一个bug吗?如果是这样,人们在使用np.timedelta64时使用了什么惯用语/变通方法 从NumPy 1.8.1开始,这个问题似乎已经得到了解决。代码没有在1.6.1上运行(divide未实现),但即使没有它,它也可能不会显示您想要的内容。是时候把Ubuntu从12.04升级到14.04了。。。
1000 milliseconds
1000000 microseconds
1000000000 nanoseconds
60000 milliseconds
60000000 microseconds
-129542144 nanoseconds
3600000 milliseconds
-694967296 microseconds
817405952 nanoseconds
These are for 1.7.1