熊猫:加速大型SQLite数据库查询

2024-03-29 15:00:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经创建了一个包含32GB的财务数据的SQLite数据库(我从csv文件开始,然后在pandas中使用to_sql命令)。更具体地说,数据库有超过5.5亿行和6列(3个字符串列、2个浮点列和1个日期时间列)。我想使用pandas执行一个简单的按组计数查询,但这似乎需要很长时间。我做了以下事情:

import pandas as pd
from sqlalchemy import create_engine

disk_engine = create_engine('sqlite:///trade_data.db') 
df = pd.read_sql_query('SELECT Type, COUNT(Type) as `number_of_trades`'
                   'FROM data '
                   'GROUP BY Type ', disk_engine)  

但是,在我的机器(一台标准的笔记本电脑)上执行此操作时,这个简单的查询大约需要1小时10分钟。有人知道如何加快速度吗?谢谢!在


Tags: 文件csvimport数据库pandassqlitesqldata