虽然转换器很方便,但速度很慢,因为每行数据都会调用它们一次。将时间戳加载到 NumPy 整数数组后转换数据会更快:
x = np.array([1436472000, 1436472001])
x = np.asarray(x, dtype='datetime64[s]')
产生一个数组NumPy datetime64s:
array(['2015-07-09T16:00:00-0400', '2015-07-09T16:00:01-0400'],
dtype='datetime64[s]')
获取Pythondatetime.datetime
s use tolist()
:
>>> x.tolist()
# [datetime.datetime(2015, 7, 9, 20, 0),
# datetime.datetime(2015, 7, 9, 20, 0, 1)]
如您所知,matplotlib datenums 计算days自 0001-01-01 起
00:00:00 UTC,加一。这些不是时间戳(从
纪元,1970-01-01 00:00:00 UTC):
>>> matplotlib.dates.date2num(x.tolist())
# array([ 735788.83333333, 735788.83334491])