使用说明
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