我如何制作一个可以同时存储datetime和float的numpy数据结构?

array([[ 2017-01-30 00:00:00,  1.0],
       [ 2017-01-31 00:00:00,  2.0]])

最佳答案

您可以将structured array与异构元组一起使用:

import numpy as np
x = np.array([(np.datetime64('2017-01-30'), 1.0),
              (np.datetime64('2017-01-31'), 2.0)],
              dtype=[('datetime', 'datetime64[D]'), ('number', 'f8')])


语法与dict有点类似:

>>> x['datetime']
array(['2017-01-30', '2017-01-31'], dtype='datetime64[D]')
>>> x['number']
array([ 1.,  2.])
>>> x['datetime'][0] + 5
numpy.datetime64('2017-02-04')
>>> x['number'][1] + 5
7.0


请注意,Pandas可能更适合您的需求。

10-07 19:26
查看更多