Python 3.x 莫丁·迪特罗斯的速度慢得令人痛苦。有什么办法可以加快速度吗?

Python 3.x 莫丁·迪特罗斯的速度慢得令人痛苦。有什么办法可以加快速度吗?,python-3.x,pandas,dataframe,modin,Python 3.x,Pandas,Dataframe,Modin,我有一个modin数据帧,有大约120k行。我想合并其中的一些列。Modin df iterrows花费了很多时间,所以我尝试了numpy.where。Numpy.where在等效的熊猫测向仪上需要5-10分钟,但在莫丁测向仪上同样需要30分钟。有没有其他方法可以加快modin dataframe的此任务 [合并列]-->此列表包含要合并的列的列表。它包含10-15列 代码: 如果df是一个数据帧,它将在约10分钟内执行,但如果它是一个modin数据帧,则需要约30分钟。那么,对于numpy.w

我有一个modin数据帧,有大约120k行。我想合并其中的一些列。Modin df iterrows花费了很多时间,所以我尝试了numpy.where。Numpy.where在等效的熊猫测向仪上需要5-10分钟,但在莫丁测向仪上同样需要30分钟。有没有其他方法可以加快modin dataframe的此任务

[合并列]-->此列表包含要合并的列的列表。它包含10-15列

代码:


如果df是一个数据帧,它将在约10分钟内执行,但如果它是一个modin数据帧,则需要约30分钟。那么,对于numpy.where,modin dataframes是否有任何等效代码来加速此操作?

尝试使用-np.where(df['COL'].values!='',df['COL'].values,df['COL_'].values)@Nk03我尝试了你的建议,但没有任何区别,它花了1个小时。小熊猫在4分钟内就能完成这项工作。它的长度是多少。如果它很大,那么你应该考虑矢量化。@ NK03 -该列表包含15-20个列。让我解释一下——我正在一个接一个地合并5个数据集。每次合并后,都会发生上述操作。5次合并后的总记录约为120k。因此,在每次合并之后,需要使用上述代码合并大约15到20列。小熊猫只需要5分钟。但对于莫丁来说,这需要50分钟。您能告诉我如何为modin对其进行矢量化吗?所以,这意味着for循环将运行15-20次迭代?。如果使用多线程/多处理,则可以将for循环的速度提高约15倍。
for COL in [cols_to_be_coalesced]:
    df['COL'] = np.where(df['COL']!='', df['COL'], df['COL_X'])