探索 Python 库:使用 Modin 使你的 DataFrames 并行化
介绍
在当今世界,数据对于任何企业或组织的运营都至关重要。您高效快速地清理和分析数据的能力可以决定您的业务是否相关和成功。数据至关重要,而且数据量很大。您的数据集可能不只是几百兆字节。如果您有一个超过 1TB 的大型数据集怎么办?直接使用 pandas 库分析这样的大型数据集会非常麻烦,因为它本身不会利用主机上的所有核心。
输入莫丁。
Modin 是一个 Python 库,可以并行化您的 pandas 数据集。它是 pandas 的替代品,可提供大多数 pandas API 的完全并行化。即使在一台简单的笔记本电脑上,您也可以使用 Modin 将数据处理速度提高大约四倍!对 pandas 库的全面探索超出了本指南的范围,但您可以在此处查看其文档。
在以下部分中,您将学习如何开始使用 Modin。您还将学习如何安装和配置 Modin 以与 Ray 或 Dask 计算引擎协同工作。让我们开始吧!
安装
在撰写本文时,Modin 库可与以下 Python 版本兼容:
-
=3.6.1
您可以使用pip或conda安装 Modin 。
使用pip安装:
pip install modin
使用conda安装:
conda install -c conda-forge modin
Modin 与 Ray 或 Dask 计算引擎协同工作。您可以通过更改pip安装以包含以下目标之一来更改 Modin 的安装以包含您选择的计算引擎:
- pip 安装 modin[ray]
- pip 安装 modin[dask]
- pip 安装 modin[全部]
下载 Modin 库后,您现在就可以替换代码中的 pandas 导入。 import pandas as pd现在可以变成import modin.pandas as pd
好了,现在你就可以开始使用 pandas 并享受更快的体验了。
选择计算引擎
Modin 是 Ray 和 Dask(两个不同的并行计算引擎)的抽象层。使用哪种引擎几乎完全无关紧要,因为 Modin 抽象了使用这些引擎的所有复杂性。您会发现使用这些引擎的唯一限制是,如果您使用的是 Windows,则只能使用 Dask,因为 Ray 仅支持 macOS/Linux 操作系统。
Modin 足够智能,可以检测到您安装的引擎,但如果您想要对所使用的引擎进行更细粒度的控制,您可以将此告知 Modin。Modin 将查找MODIN_ENGINE环境变量。在 macOS 或 Linux 上,您可以通过运行export MODIN_ENGINE=<ray|dask> 来设置此环境变量。在 Windows 上,可以通过set MODIN_ENGINE=<ray|dask>来实现。
但是,如果您在内存中有一个特定的 Ray 或 Dask 实例,并且想要将其用作并行化引擎,该怎么办? 这也很容易实现! 您所要做的就是在导入 Modin 之前实例化您的 Ray 或 Dask 客户端。 以下是如何使用 Ray 实现此目的的示例:
import ray
ray.init(plasma_directory="/tmp/plasma", num_cpus=20, num_gpus=2, object_store_memory=10**10)
import modin.pandas as pd
以下是使用 Dask 的一个例子:
from distributed import Client
dask_client = Client(n_workers=4)
import modin.pandas as pd
结论
在本指南中,您了解了 Python 库 Modin,以及如何在 Ray 或 Dask 上使用它来大幅加快与 pandas 数据集相关的计算速度。使用这个简单、轻量级的 pandas API,享受更快的数据分析!Modin 正在积极开发中,前景光明,包括计划在 pandas 上提供 SQL API。有关更多信息、示例和描述可能的速度提升和未来工作的图表,请查看 Modin文档。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~