我在python词典中有一些大数据, 比如,它包含公司A和公司B的销售数据。 这两家公司的销售分析需要很长时间。
有没有办法将字典分成2(公司A和B),并在2个CPU内核上进行计算,这样它会更快? A公司和B公司的销售分析是相互独立的。
让我们说我的字典是这样的:
sales_data = {"COMPANY A":[1,2,3.....100],"COMPANY B":[1,2,3.....200]}
然后我想总结上面2个内部列表中的数字,这将给出每个公司的总销售额。
1个CPU核心将汇总company A
的销售数量,
其他CPU核心将汇总company B
的销售数字。
如果只有1个CPU完成此工作,它将首先汇总company A
的销售数字,然后将company B
的销售数字相加。但如果2个核心分配这个工作,整个计算将在更短的时间内完成。
答案 0 :(得分:0)
from multiprocessing import Pool
def job(xs):
return sum(xs)
sales_data = {"COMPANY A":[1,2,3.....100],"COMPANY B":[1,2,3.....200]}
p = Pool()
p.map(job, sales_date.values())
NB:这不适用于您的"示例"数据不是Python。
请注意: