我正在尝试使用pandarallel模块来加速我在pandas中的应用函数。当我运行pandarallel的git页面上提供的示例时,我得到以下错误:AttributeError:无法pickle本地对象'prepare_worker。。关闭。。包装
这是我的代码:
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)
这是一个已知的问题:https://github.com/nalepae/pandarallel/issues/72
还有C1ARKGABLE发布的解决方案。使用带有python 3.7.3的以下软件包的新虚拟环境:
- 数字1.17.4
- pandarallel 1.4.6
- 熊猫0.25.3
个人评论:泡菜和熊猫在一起玩得不好。尽可能避免。