python – 将MySQL结果集转换为NumPy数组的最有效方法是什么?
作者:互联网
我正在使用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]
谢谢!
解决方法:
fetchall方法实际上返回一个迭代器,numpy有fromiter方法从一个interator初始化一个数组.因此,根据表中的数据,您可以轻松地将两者合并,或使用适配器生成器.
标签:etl,python,numpy,mysql-python 来源: https://codeday.me/bug/20190926/1818384.html