Python 如何解决;Can';t pickle local object“;使用pandarallel时出错

Python 如何解决;Can';t pickle local object“;使用pandarallel时出错,python,pandas,multiprocessing,Python,Pandas,Multiprocessing,我正在尝试使用pandarallel模块来加速我在pandas中的应用功能。当我运行pandarallel上提供的示例时,我得到以下错误:AttributeError:无法pickle本地对象“prepare\u worker..closure..wrapper” 这是我的代码: from pandarallel import pandarallel import pandas as pd import numpy as np import math pandarallel.initializ

我正在尝试使用pandarallel模块来加速我在pandas中的应用功能。当我运行pandarallel上提供的示例时,我得到以下错误:AttributeError:无法pickle本地对象“prepare\u worker..closure..wrapper”

这是我的代码:

from pandarallel import pandarallel
import pandas as pd
import numpy as np
import math

pandarallel.initialize(nb_workers=4)

df_size = int(5e6)
df = pd.DataFrame(dict(a=np.random.randint(1, 8, df_size),
                       b=np.random.rand(df_size)))

def func(x):
    return x

res_parallel = df.parallel_apply(func, axis=1)
这是一个众所周知的问题:

还有由C1ARKGABLE发布的解决方案。在python 3.7.3中使用带有以下软件包的新虚拟环境:

  • numpy 1.17.4
  • 泛并行1.4.6
  • 熊猫0.25.3
个人评论:泡菜和熊猫在一起玩得不好。尽可能避免