我正在尝试使用多进程模块以数据框为值创建字典。 我正在使用here提供的说明。但是,它输出一个空字典。我们非常感谢您的帮助。
def parallel_main(summary_res_all_type,st,df_x,df_y,max_number):
res_all
=modified_mlr.do_mlr(df_x,df_y,soil_type=st,max_namber=max_number)
summary_res_all_type[st]=pd.DataFrame(index=pars_keys_all,columns=[st] )
summary_res_all_type[st]=res_all['dict_cor_par'].values()
if __name__ == '__main__':
manager = Manager()
summary_res_all_type = manager.dict()
job = [Process(target=parallel_main, args=(summary_res_all_type,
i,df_x,df_y,max_number)) for i in set(df_x["soil_type"])]
_ = [p.start() for p in job]
_ = [p.join() for p in job]
print(summary_res_all_type)
答案 0 :(得分:0)
这里是黑暗中的一枪,但下面一行:
res_all = modified_mlr.do_mlr(df_x,df_y,soil_type=st,max_namber=max_number)
看起来有一个错字max_namber=max_number
。这将导致所有进程因隐藏的异常而失败。