Modin speedup Pandas Apply 函数吗?

Does Modin speedup Pandas Apply function?

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

我们应该使用 Spark Dataframe 来加速应用函数吗?

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

要了解 Modin 如何加快 Pandas 操作,请简单介绍一下其架构。 Modin Frame 是分区的二维数组,其中每个分区是一个 Pandas DataFrame (link to doc with explainfull images)。通常 DataFrame 分成 N_cores 个分区,所以当我们在我们的 Modin Frame 下做一些操作时,它会在每个分区上并行执行,这就是 Modin 加速 Pandas 计算的方式。

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

modin_df.apply(fn)

将执行类似 this (explainfull img) 的操作。 正如我们从图像中看到的,如果我们有一个形状为 (100000, 64) 的帧并应用一个函数,我们将在 (100000/N, 64) 形状帧下得到 .apply() 的 N 次并行执行,这给出不错的加速。