如何在Pandas的iterrows循环中集成进度条
为Pandas iterrows循环添加进度条的简洁方法
既然没法替换遗留的iterrows代码,用tqdm是最简洁的方案,不用额外维护计数器,直接包装原循环即可:
步骤1:安装并导入tqdm
如果还没安装,先执行:
pip install tqdm
然后在代码里导入:
from tqdm import tqdm
步骤2:重构循环添加进度条
直接把df_temp.iterrows()传入tqdm,同时指定total=len(df_temp)(因为iterrows不会返回总长度,tqdm需要这个参数来显示准确的进度百分比):
for index, row in tqdm(df_temp.iterrows(), total=len(df_temp)): # 你的原有数据处理代码无需改动 # do stuff
如果是在Jupyter Notebook/Lab里运行,改用tqdm.notebook.tqdm可以获得更适配的美观进度条:
from tqdm.notebook import tqdm for index, row in tqdm(df_temp.iterrows(), total=len(df_temp)): # do stuff
这种方式完全不需要修改原有数据处理逻辑,只是给迭代器加了一层包装,进度条会实时显示当前迭代进度、剩余时间等信息,比手动维护计数器直观得多。
内容的提问来源于stack exchange,提问作者2Xchampion
相关产品推荐
相关产品推荐

