Modin加速熊猫应用功能吗?

时间:2020-10-13 12:51:48

标签: python pandas dataframe modin

我试图在许多地方找到答案,但从未得到直接答案。 Modin Speedup是否适用于数据帧?具有跨Dataframe并行应用功能而不是逐行执行典型功能的智能吗?

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

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

1 个答案:

答案 0 :(得分:2)

要了解Modin如何加快Pandas运作速度,请简要介绍一下其架构。 Modin Frame是分区的2D数组,其中每个分区都是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个并行执行,这将得到不错的速度。