欢迎大家来到IT世界,在知识的湖畔探索吧!
当需要在 Python 中添加进度条来显示任务的执行进度时,tqdm 是一个非常有用的包。tqdm 是一个快速、可扩展的进度条工具,可以轻松地将进度条添加到循环、迭代和其他任务中。本文将详细介绍 tqdm 包,并提供多个使用实例。
安装 tqdm 包
在开始之前,您需要先安装 tqdm 包。您可以使用 pip 在命令行中运行以下命令来安装:
pip install tqdm
欢迎大家来到IT世界,在知识的湖畔探索吧!
使用 tqdm 包
导入 tqdm 模块,并使用其中的函数和方法来添加进度条。以下是多个使用实例:
简单循环进度条:
欢迎大家来到IT世界,在知识的湖畔探索吧!from tqdm import tqdm import time for i in tqdm(range(10)): time.sleep(0.5)
在上面的示例中,我们导入了 tqdm 模块,并使用 tqdm 函数包装了一个简单的循环。在每次迭代时,进度条将显示当前进度。使用 range(10) 表示迭代 10 次,每次迭代后使用 time.sleep(0.5) 模拟一段耗时的任务。
文件迭代器进度条:
from tqdm import tqdm with open('file.txt', 'r') as file: for line in tqdm(file): # 处理每一行
在上面的示例中,我们打开一个文件并使用 tqdm 函数包装了文件迭代器。在每次迭代时,进度条将显示当前处理的行数。
自定义进度条描述和样式:
欢迎大家来到IT世界,在知识的湖畔探索吧!from tqdm import tqdm with tqdm(total=100, desc='Processing', bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt}') as pbar: for i in range(10): # 执行任务 pbar.update(10)
在上面的示例中,我们创建了一个进度条对象,并使用 total 参数设置总进度为 100。通过 desc 参数,我们设置了进度条的描述为 “Processing”。使用 bar_format 参数自定义进度条的样式,其中 {l_bar} 表示进度条左侧的描述信息,{bar} 表示进度条本身,{n_fmt} 表示当前进度,{total_fmt} 表示总进度。在每次迭代时,使用 pbar.update(10) 来更新进度条。
嵌套进度条:
from tqdm import tqdm with tqdm(total=100, desc='Outer') as pbar_outer: for i in range(10): with tqdm(total=10, desc='Inner') as pbar_inner: for j in range(10): # 执行任务 pbar_inner.update(1) pbar_outer.update(10)
在上面的示例中,我们创建了一个外部进度条和一个内部进度条。外部进度条用于跟踪外部循环的进度,内部进度条用于跟踪内部循环的进度。在每次迭代时,使用 pbar_inner.update(1) 和 pbar_outer.update(10) 来更新内部和外部进度条。
通过使用 tqdm 包,您可以轻松地添加进度条来显示任务的执行进度,提高代码的可读性和用户体验。
请注意,tqdm 包提供了更多的功能和选项,如设置进度条样式、设置动画效果、显示剩余时间等。您可以查阅官方文档以了解更多信息。
Jupyter Notebook中使用进度条
在 Jupyter Notebook 中,tqdm 进度条将以交互式的方式显示在循环单元格下方。它会动态更新进度,并显示当前的进度百分比。
如果您在 Jupyter Notebook 中执行的是长时间运行的任务,而不是简单的循环,您可以使用 tqdm_notebook 函数代替 tqdm 函数,以获得更好的交互式体验。以下是一个示例:
欢迎大家来到IT世界,在知识的湖畔探索吧!from tqdm import tqdm_notebook import time for i in tqdm_notebook(range(10)): time.sleep(0.5)
使用 tqdm_notebook 函数可以在 Jupyter Notebook 中获得更好的显示效果,并提供更好的交互性。
在 Jupyter Notebook 中使用 tqdm 包可以帮助您更好地可视化任务的执行进度,并提供更好的反馈和用户体验。
希望这对您在 Jupyter Notebook 中使用 tqdm 包有所帮助!
Pandas progress apply
# from tqdm.autonotebook import tqdm # tqdm.pandas() # df.progress_apply(row_function, axis=1) import pandas as pd import numpy as np from tqdm import tqdm from tqdm.gui import tqdm as tqdm_gui df = pd.DataFrame(np.random.randint(0, 100, (, 6))) tqdm.pandas(ncols=200) # can use tqdm_gui, optional kwargs, etc # Now you can use `progress_apply` instead of `apply` a = df[0].progress_apply(lambda x: x2) # gb = df.groupby(0)? # gb.first
欢迎大家来到IT世界,在知识的湖畔探索吧!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/80644.html