任务的矢量化加快了执行速度,但我找不到如何衡量矢量化任务的进度(如果任务需要很长时间才能完成)。我已经看到 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))
这可能会运行得更快,但它没有提供任何关于进度的提示。关于如何获取有关矢量化任务状态的信息的任何想法?