首页 > 解决方案 > 同时运行多个 Pandas 函数

问题描述

我想使用 Pandas 同时执行 3 个 SQL 查询。

我的 3 个 SQL 查询中的每一个都需要 1 分钟才能运行。连续运行它们总共需要 3 分钟。查询是:

pd.read_sql(Query_1 , DB_Connection)
pd.read_sql(Query_2 , DB_Connection)
pd.read_sql(Query_3 , DB_Connection)

减少运行时间的一种解决方法是打开 3 个单独的 IPython Jupyter 笔记本,在每个笔记本中放置一个查询,然后或多或少同时在所有三个笔记本上执行。鉴于在这种情况下它们同时运行,所有 3 的总运行时间为 1 分钟。

如何在一个 IPython 笔记本中实现将总运行时间减少到 1 分钟的相同结果?


您如何看待这种使用线程的潜在解决方案?

SQL_Queries = ["Query 1" , "Query 2" , "Query 3"]
SQL_Results = []

def myfunct(i):
    SQL_Results.append(pd.read_sql(SQL_Queries[i]))

for i in range(3):
    t = Thread(target=myfunct, args=(i,))
    t.start() 

标签: pythonsqlpandasjupyter-notebook

解决方案


推荐阅读