1

我试图在很多地方找到答案,但还没有得到直接的答案。modin 加速是否适用于数据帧?它是否具有跨 Dataframe 并行化应用功能而不是典型的逐行执行的智能?

或者

我们应该使用 Spark Dataframe 来加速应用功能吗?

抱歉,如果有简单的答案可用,我总是得到关于 modin 在阅读或某些功能方面有多快的答案,很少应用。

4

1 回答 1

9

要了解 Modin 如何加快 Pandas 的运行速度,请简单介绍一下它的架构。Modin Frame 是 2D 分区数组,其中每个分区都是 Pandas DataFrame (链接到带有解释完整图像的文档)。通常 DataFrame 会拆分为多个N_cores分区,因此当我们在 Modin Frame 下执行某些操作时,它会在每个分区上并行执行,这就是 Modin 加速 Pandas 计算的方式。

Modin 具有灵活的分区机制,它可以根据操作动态重新分区帧。例如,当我们执行需要了解整行的操作时(例如 in df.apply(fn)fn期望获取行的位置,因此我们需要了解整行),Modin Frame 将仅在行分区中重新分区,因此

modin_df.apply(fn)

将执行类似这样的操作 (explainfull img)。正如我们从图像中看到的,如果我们有一个形状为 (100000, 64) 的框架并应用一个函数,我们将获得 N 个小.apply()于 (100000/N, 64) 形状的框架的并行执行,这提供了不错的速度。

于 2020-10-14T19:43:21.130 回答