如何评估矢量化任务的进度(在 python 和 pandas 中)

问题描述 投票:0回答:0

任务的矢量化加快了执行速度,但我找不到如何衡量矢量化任务的进度(如果任务需要很长时间才能完成)。我已经看到 tqdm 可能会完成这项工作,但我想知道是否有可能以更简单的方式完成它。

pandas dataframe 示例(假设索引为 [0...n] 并且每 1000 行输出一条打印输出消息):

for idx in df.index:
    df.loc[idx, 'B'] = a_function(df.loc[idx, 'A'])
    if (idx % 1000) == 0:
        print(idx)

这将显示进度,但如果 df 有几百万行并且 a_function() 不是微不足道的,那么速度可能会非常慢。

替代方法是向量化操作:

df['B'] = df['A'].apply(lambda x: a_funcion(x))

这可能会运行得更快,但它没有提供任何关于进度的提示。关于如何获取有关矢量化任务状态的信息的任何想法?

python pandas vectorization progress
© www.soinside.com 2019 - 2024. All rights reserved.