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 次并行执行,这给出不错的加速。
我试图在很多地方找到答案,但还没有得到直接的答案。 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 次并行执行,这给出不错的加速。