本地使用Modin#

注意

Estimated Reading Time: 5 minutes
You can follow along this tutorial in the Jupyter notebook.

在我们的快速入门示例中,我们已经看到了如何在单台机器上通过Modin实现显著的加速。用户不需要知道他们的系统有多少个核心,也不需要指定如何分发数据。事实上,用户可以继续使用他们现有的pandas代码,同时在单台机器上体验Modin带来的显著加速。

要在单台机器上使用Modin,只需修改导入语句即可。 一旦你更改了导入语句,你就可以像使用pandas一样使用Modin, 因为其API与pandas完全相同。

# import pandas as pd
import modin.pandas as pd

就是这样。你已经准备好在你之前的pandas工作流程中使用Modin了!

高级:配置Modin使用的资源#

Modin 会自动检查您机器上可用的 CPU 数量,并将分区数量设置为等于 CPU 数量。您可以通过运行以下代码来验证这一点:

import modin
print(modin.config.NPartitions.get()) #prints 16 on a laptop with 16 physical cores

Modin 充分利用您机器上的资源。要了解更多关于这是如何工作的信息,请参阅 为什么选择 Modin? 页面以获取更多详细信息。

由于Modin默认会使用您机器上所有可用的资源,有时您可能希望限制Modin使用的资源量,以便为其他任务或用户释放资源。以下是如何在您的bash环境变量中限制Modin使用的CPU数量的方法:

export MODIN_CPUS=4

你也可以在你的python脚本中使用os.environ来指定这个:

import os
os.environ["MODIN_CPUS"] = "4"
import modin.pandas as pd

如果您正在使用特定的引擎并希望更多地控制Modin使用的环境,您可以在您的环境中启动Ray或Dask,Modin将连接到它。

import ray
ray.init(num_cpus=4)
import modin.pandas as pd

指定 num_cpus 可以限制 Modin 使用的处理器数量。你也可以指定比机器上可用的处理器更多的数量;然而,这不会提高性能(并且可能会损害系统的性能)。

注意

确保在使用Modin进行第一个操作之前更新MODIN_CPUS配置并初始化您首选的引擎!否则,Modin将选择默认设置。