数据库
首页 > 数据库> > python – 将MySQL结果集转换为NumPy数组的最有效方法是什么?

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