将第二个参数传递给 pool.map 中的函数



我有一个包含许多行的熊猫数据帧,我正在使用多处理来同时处理来自该数据帧的分组表。它工作正常,但我在传入第二个参数时遇到问题,我试图将两个参数作为元组传递,但它不起作用。我的代码如下:

我还想将参数"col"传递给函数"process_table">

for col in cols:
    tables = df.groupby('test')
    p = Pool()
    lines = p.map(process_table, table)
    p.close()
    p.join()
def process_table(t):
    # Bunch of processing to create a line for matplotlib
    return line
你可以

这样做,它需要一个迭代对象并将其扩展为单独的参数:

def expand(x):
    return process_table(*x)
p.map(expand, table)

您可能会想这样做:

p.map(lambda x: process_table(*x), table) # DOES NOT WORK

但它不起作用,因为 lambda 是不可腌制的(如果你不知道这意味着什么,相信我(。

最新更新