目录
安装动机
最近在用Pandas处理一些大数据集时明显感受到了Pandas的缺陷:只能使用CPU的一个核心来计算,对于我新买的8核16线程的机子来说,有大量资源都被浪费了。
本着加速Pandas运行的动机,上网搜索了很多能充分利用本地CPU资源的措施,但是看了一些诸如threading
, multiprocessing
之类的库,还是感觉环境的部署有些难以理解,其中的运用也有一些限制(比如自定义函数必须有返回值),对于像我这样非CS专业背景的人来说还是不够友好。最终发现了这个号称能够实现一行代码加速Pandas运行的Modin
库(事实上也确实如此),鼓捣了一整天之后终于成功实现了Pandas的充分并行加速。
虽然使用起来非常方便,但在安装过程中走了不少弯路,网上也没有非常明确的信息指导安装,因此写下这篇文章,以免后来者再重蹈覆辙。
Modin库简介
Modin 是加州大学伯克利分校 RISELab 的一个早期项目,旨在促进分布式计算在数据科学领域的应用。它是一个多进程的数据帧(Dataframe)库,具有与 Pandas 相同的应用程序接口(API),使用户可以加速他们的 Pandas 工作流。
在一台 8 核的机器上,用户只需要修改一行代码,Modin 就能将 Pandas 查询任务加速 4 倍。
该系统是为希望程序运行得更快、伸缩性更好,而无需进行重大代码更改的 Pandas 用户设计的。这项工作的最终目标是能够在云环境中使用 Pandas。
如果对Modin库具体的工作流程感兴趣,请参考机器之心的知乎文章-想让pandas运行更快吗?那就用Modin吧
安装流程
必须要指出的是,只有Window 10系统才能支持以下的安装流程
由于Windows环境下并不直接支持Ray,而Ray是安装Modin所必须的,因此我们需要使用WSL(适用 Linux 的 Windows 子系统),整体的流程也因此比以往pip即可的流程变得复杂了一些
总体来说分为四步: