如何优化Python循环并行/多处理



我必须循环N次才能计算公式并在数据框架中添加结果。我的代码工作,需要几秒钟来处理每个项目。然而,它一次只能执行一项,因为我正在通过for循环运行数组:

我尝试更新代码,我添加numba库来优化代码

def calculationResults(myconfig,df_results,isvalid,dimension,....othersparams):
for month in nb.prange(0, myconfig.len_production):   
calculationbymonth(month,df_results,,....othersparams)
return df_results

但它还是一次只做一项?什么好主意吗?

我们可以使用类似于下面的函数来使用并行应用。

def parallelize_dataframe(df, func, n_cores=4):
df_split = np.array_split(df, n_cores)
pool = Pool(n_cores)
df = pd.concat(pool.map(func, df_split))
pool.close()
pool.join()
return df

最新更新