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

2024-04-26 09:18:22 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码处理大量数据,我想问一下如何使用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]

Tags: 模块数据key代码inforcountergroup
1条回答
网友
1楼 · 发布于 2024-04-26 09:18:22

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

也许你可以看看多处理队列 http://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes

我并没有真正理解你试图用你的代码做什么,所以我不能提供一个确切的例子。你知道吗

相关问题 更多 >