Pandarallel包

使用说明

Pandaral.lel 提供了一种简单的方法,只需一行代码即可实现对所有 CPU 上的 pandas 操作进行并行化处理,并显示进度条。

安装

pip install pandarallel [--upgrade] [--user]

快速开始

from pandarallel import pandarallel
pandarallel.initialize(progress_bar=True, nb_workers=4)

# df.apply(func)
df.parallel_apply(func)

可以通过progress_bar控制是否显示进度条,nb_workers控制使用的cpu核心数(默认使用一半的核心数)。

注意事项

在windows下运行可能会出问题,更适用于linux环境

pandarallel在pandas 2.0以上环境下运行报错

在pandas 2.0及以上版本中使用pandarallel包报错:

AttributeError: 'DataFrameGroupBy' object has no attribute 'mutated'

这是因为新版pandas去掉了GroupBy.mutated。在https://github.com/nalepae/pandarallel/pull/235 中进行了修复。这个修复似乎没有同步到pypi中,所以需要从源码安装。

首先安装build库:

pip install build

将源码clone本地,在其项目目录下安装:

python -m build
pip uninstall pandarallel
pip install dist/pandarallel-xxxx.whl

links

social