【发布时间】:2019-03-18 15:13:28
【问题描述】:
我有一个大型函数需要并行运行以节省计算时间。该函数采用名称和列表,并返回带有计算结果的数据框。 我需要将每个数据框返回并保存到列表(或其他东西)中。 我可以使用 PROCESS 让并行运行,但它返回一个累积数据帧。我怎样才能从每个进程中获取数据框而不是全部添加。 因此:
DF1 = A B
1 2
2 4
DF2 = A B
1 3
5 6
我得到的是:
DF1 = A B
1 2
2 4
DF2 = A B
1 2
2 4
1 3
5 6
我在下面粘贴了我的示例代码: 提前谢谢你 - 我似乎无法弄清楚这一点..
if __name__ == "__main__":
SectorA = ["AAPL", "ATVI", "BIDU"]
SectorB = ['AA','IBM','UAL']
sectors = [SectorA,SectorB, Tech_Sector, TransP_Sector]
sectorsNames = ['SectorA', 'SectorB']
######################################################################
procs = []
#proc = Process(target=RUN_Function) # instantiating without any argument
#procs.append(proc)
#proc.start()
# instantiating process with arguments
for name, sec in itt.zip_longest(sectorsNames, sectors):
info("My Main")
proc = Process(target=RUN_Function, args=(name,sec))
procs.append(proc)
procs.start()
#proc.join()
'''
for mpos in procs:
print("Positions for the following: ".format(mpos))
'''
print("Finished")
proc.terminate()
【问题讨论】:
标签: python-3.x pickle python-multiprocessing