Python 用numpy存储datetime

Python 用numpy存储datetime,python,numpy,Python,Numpy,我在mysql(now())中有一些值,我想将它们放入numpy数组中。一旦我从mysql中提取数据,它就会被格式化为时间列表,如(datetime.datetime(2015,9,23,16,56,14),(datetime.datetime(2015,9,23,16,59,17),) 我可以将其他数据类型拉入numpy(字符串、浮点),但在这方面失败。我尝试的dype是datetime64,我得到以下信息: conn = MySQLdb.connect(host="localhost", u

我在mysql
(now())
中有一些值,我想将它们放入numpy数组中。一旦我从mysql中提取数据,它就会被格式化为时间列表,如
(datetime.datetime(2015,9,23,16,56,14),(datetime.datetime(2015,9,23,16,59,17),

我可以将其他数据类型拉入numpy(字符串、浮点),但在这方面失败。我尝试的dype是datetime64,我得到以下信息:

conn = MySQLdb.connect(host="localhost", user="x", passwd="x", db="x")
curs = conn.cursor()
numrows = curs.execute("select float, string, date from table")
A = numpy.fromiter(curs.fetchall(), count=numrows, dtype=('float128, a25, datetime64'))
然后:

Traceback
A = numpy.fromiter(curs.fetchall(), count=numrows, dtype=('i4, a25, datetime64'))
TypeError: Cannot cast datetime.datetime object from metadata [us] to  according to the rule 'same_kind'

因此,问题似乎在于,它希望根据不同的日期格式。如何让numpy在添加数据之前接受此数据或以其他方式操作数据?

尝试使用
datetime64[us]
而不是
datetime64

conn=MySQLdb.connect(host=“localhost”,user=“x”,passwd=“x”,db=“x”) 游标=连接游标() numrows=curs.execute(“从表中选择浮点、字符串、日期”) A=numpy.fromiter(curs.fetchall(),count=numrows,dtype=('float128,a25,datetime64[us]'))
一种可靠的方法是选择格式化日期;numpy datetimes可以从ISO datetime字符串IIRC初始化。@Sneftel看起来很棘手。我尝试选择了
DATE\u格式(日期,%Y-%m-%d')
,但它仍然不接受作为datetime64的格式。导致
ValueError:无法创建非NaT的NumPy datetime(通用单位)
。请尝试将类型指定为
datetime64[D]