Python中的多处理-如何在这些循环中使用它?

Python中的多处理-如何在这些循环中使用它?,python,multiprocessing,Python,Multiprocessing,下面的代码处理大量数据,我想问一下如何使用Python中的多处理模块进行并行处理以加快速度。 谢谢你的帮助 pats = [] for chunk in code_counter(patients, codes): pats.append(chunk) def code_counter(patients, codes): for key, group in itertools.groupby(patients, key=operator.itemgetter('ID')):

下面的代码处理大量数据,我想问一下如何使用Python中的多处理模块进行并行处理以加快速度。 谢谢你的帮助

pats = []
for chunk in code_counter(patients, codes):
    pats.append(chunk)

def code_counter(patients, codes):
    for key, group in itertools.groupby(patients, key=operator.itemgetter('ID')):
        group_codes = [item['CODE'] for item in group]
        yield [group_codes.count(code) for code in codes]

我认为你的问题在于收益率的使用。我认为你不能从不同的过程中得到数据。我知道,您使用的是yield,因为您不能“内联”加载数据,这会导致ram过载

也许您可以看看多处理队列


我真的不明白你想用你的代码做什么,所以我不能提供一个精确的例子。

pats中的项目顺序有关系吗?是的!你知道怎么做吗?什么是
患者
,你从哪里得到的?要使其工作,必须启用
ID
。它是?否则,最好只使用一个。将所有数据管道化到子流程只是为了得到一个倒计时,这可能会带来比speedgain更多的开销。