Modin 加速 Pandas Apply 功能吗?

Har*_*sad 0 python dataframe pandas modin

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

或者

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

抱歉,如果有简单的答案可用,我总是会得到关于 modin 阅读速度或某些功能的答案,很少适用。

小智 6

要了解 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)
Run Code Online (Sandbox Code Playgroud)

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