我正在使用MySQLdb和Python。我有一些基本查询,例如:
c=db.cursor()
c.execute("SELECT id, rating from video")
results = c.fetchall()
我需要“结果”成为NumPy数组,并且我希望节省内存消耗。似乎逐行复制数据效率极低(将需要两倍的内存)。是否有更好的方法将MySQLdb查询结果转换为NumPy数组格式?
我之所以要使用NumPy数组格式,是因为我希望能够轻松地对数据进行切片和切块,在这方面,python对多维数组似乎并不友好。] >
e.g. b = a[a[:,2]==1]
谢谢!
我正在使用MySQLdb和Python。我有一些基本查询,例如:c = db.cursor()c.execute(“ SELECT id,从视频分级”)结果= c.fetchall()我需要“结果”作为NumPy数组,而我m ...
fetchall
方法实际上返回一个迭代器,而numpy具有fromiter方法以从一个插入器初始化一个数组。因此,根据表中的数据,您可以轻松地将两者合并,或使用适配器生成器。
此解决方案使用Kieth的fromiter
NumPy的fromiter