Python 使用Joblib并获取;无法解压缩不可编辑的函数对象“;

Python 使用Joblib并获取;无法解压缩不可编辑的函数对象“;,python,multiprocessing,joblib,Python,Multiprocessing,Joblib,我是多处理机新手。以下代码正确地说明了我正在尝试执行的操作: import pandas as pd import multiprocessing from joblib import Parallel, delayed one = [True, False] one_bla = pd.Series(one) one_names = pd.Series(['Mr. Pea', 'Mrs. Pea']) one_names = list(zip(one_names, one_names.ind

我是多处理机新手。以下代码正确地说明了我正在尝试执行的操作:

import pandas as pd
import multiprocessing
from joblib import Parallel, delayed

one = [True, False]
one_bla = pd.Series(one)
one_names = pd.Series(['Mr. Pea', 'Mrs. Pea'])

one_names = list(zip(one_names, one_names.index))

two = {}

def q():
    for k, m in one_bla.items():
        if one_bla.iloc[i] == True:
            two[i] = v

num_cores = multiprocessing.cpu_count()
results = Parallel(n_jobs=num_cores)(delayed(q) for i, v in one_names)

它向我抛出了一个
类型错误:无法解压缩不可编辑的函数对象
。有人能看看我哪里出了错吗?

问题是延迟(q)命令后缺少妄想症。试试这个

results = Parallel(n_jobs=num_cores)(delayed(q)() for i, v in one_names)

错误在哪一行?是的,正确的方法应该是将函数传递到第一对括号中,并将参数传递到第二对括号中的该函数