Python 指定numpy.datype以读取GPX轨迹点

Python 指定numpy.datype以读取GPX轨迹点,python,arrays,numpy,user-defined-types,recarray,Python,Arrays,Numpy,User Defined Types,Recarray,我想将从GPX文件中提取的GPS轨迹表示为Numpy阵列。为此,每个元素都将是“trackpoint”类型,包含一个datetime和三个float 我正在尝试这样做(实际上,在使用一些XML库解析GPX文件之后): 但我得到了这个错误: ValueError: Cannot create a NumPy datetime other than NaT with generic units 我做错了什么?我应该如何从一些列表中高效地创建一个更大的数组?,您必须至少使用datetime64[m]

我想将从GPX文件中提取的GPS轨迹表示为Numpy阵列。为此,每个元素都将是“trackpoint”类型,包含一个datetime和三个float

我正在尝试这样做(实际上,在使用一些XML库解析GPX文件之后):

但我得到了这个错误:

ValueError: Cannot create a NumPy datetime other than NaT with generic units
我做错了什么?我应该如何从一些列表中高效地创建一个更大的数组?

,您必须至少使用
datetime64[m]
(分钟),而不是
datetime64
,然后您的代码才能工作。您还可以使用低至秒或毫秒的日期时间,例如
datetime64[s]
datetime64[ms]

trkptType = np.dtype([('time', 'datetime64[m]'),
                      ('lat', 'float32'),
                      ('lon', 'float32'),
                      ('elev', 'float32')])
trkptType = np.dtype([('time', 'datetime64[m]'),
                      ('lat', 'float32'),
                      ('lon', 'float32'),
                      ('elev', 'float32')])