0

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

1 回答 1

1

我认为你的问题在于产量的使用。我认为你不能从不同的过程中产生数据。我明白,你使用 yield 因为你不能加载数据“内联”,这会导致内存过载。

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

我并没有真正了解您要对代码执行的操作,因此我无法提供精确的示例。

于 2013-07-13T19:18:54.547 回答