在Jupyter notebook 中如何制作进度条

发布时间:2022-01-17 09:27:56 作者:柒染
来源:亿速云 阅读:409

在Jupyter Notebook 中如何制作进度条

引言

在数据科学和机器学习的工作流程中,Jupyter Notebook 是一个非常流行的工具。它允许用户在一个交互式的环境中编写和运行代码,同时还可以添加文本、图像和公式等富文本内容。然而,当处理大规模数据集或运行耗时的计算任务时,用户往往希望能够实时监控任务的进度。这时,进度条就成为了一个非常有用的工具。

本文将详细介绍如何在 Jupyter Notebook 中制作进度条,涵盖多种方法和工具,包括 tqdmipywidgetsprogressbar2 等。我们将从简单的进度条开始,逐步深入到更复杂和定制化的进度条实现。

1. 使用 tqdm 制作进度条

tqdm 是一个非常流行的 Python 库,用于在循环中添加进度条。它简单易用,且支持多种环境,包括 Jupyter Notebook。

1.1 安装 tqdm

首先,我们需要安装 tqdm。可以通过以下命令进行安装:

pip install tqdm

1.2 基本用法

在 Jupyter Notebook 中,tqdm 的使用非常简单。以下是一个基本的例子:

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)

在这个例子中,tqdm 会显示一个进度条,实时更新循环的进度。time.sleep(0.1) 用于模拟一个耗时的任务。

1.3 在 Pandas 中使用 tqdm

tqdm 还可以与 Pandas 结合使用,以显示 DataFrame 操作的进度。以下是一个例子:

import pandas as pd
from tqdm import tqdm

# 创建一个示例 DataFrame
df = pd.DataFrame({'a': range(10000)})

# 使用 tqdm 显示 apply 操作的进度
tqdm.pandas()
df['a'].progress_apply(lambda x: x**2)

在这个例子中,tqdm.pandas() 会为 Pandas 的 apply 操作添加进度条。

1.4 自定义进度条

tqdm 提供了多种自定义选项,例如设置进度条的描述、单位、颜色等。以下是一个自定义进度条的例子:

from tqdm import tqdm
import time

for i in tqdm(range(100), desc="Processing", unit="iteration", ncols=100, colour='green'):
    time.sleep(0.1)

在这个例子中,desc 参数用于设置进度条的描述,unit 参数用于设置单位,ncols 参数用于设置进度条的宽度,colour 参数用于设置进度条的颜色。

2. 使用 ipywidgets 制作进度条

ipywidgets 是一个用于创建交互式小部件的库,可以与 Jupyter Notebook 无缝集成。它提供了多种小部件,包括进度条。

2.1 安装 ipywidgets

首先,我们需要安装 ipywidgets。可以通过以下命令进行安装:

pip install ipywidgets

2.2 基本用法

以下是一个使用 ipywidgets 创建进度条的基本例子:

import ipywidgets as widgets
from IPython.display import display
import time

# 创建一个进度条
progress = widgets.IntProgress(value=0, min=0, max=100, description='Loading:')
display(progress)

# 模拟一个耗时的任务
for i in range(100):
    time.sleep(0.1)
    progress.value += 1

在这个例子中,widgets.IntProgress 用于创建一个整数进度条,display 函数用于在 Notebook 中显示进度条。通过更新 progress.value,我们可以实时更新进度条的状态。

2.3 使用 FloatProgress

ipywidgets 还提供了 FloatProgress,用于显示浮点数进度条。以下是一个例子:

import ipywidgets as widgets
from IPython.display import display
import time

# 创建一个浮点数进度条
progress = widgets.FloatProgress(value=0.0, min=0.0, max=1.0, description='Loading:')
display(progress)

# 模拟一个耗时的任务
for i in range(100):
    time.sleep(0.1)
    progress.value += 0.01

在这个例子中,widgets.FloatProgress 用于创建一个浮点数进度条,progress.value 的取值范围是 0.0 到 1.0。

2.4 使用 HTML 小部件

ipywidgets 还支持使用 HTML 小部件来创建更复杂的进度条。以下是一个例子:

import ipywidgets as widgets
from IPython.display import display
import time

# 创建一个 HTML 进度条
progress = widgets.HTML(value="<progress value='0' max='100'></progress>")
display(progress)

# 模拟一个耗时的任务
for i in range(100):
    time.sleep(0.1)
    progress.value = f"<progress value='{i+1}' max='100'></progress>"

在这个例子中,widgets.HTML 用于创建一个 HTML 进度条,通过更新 progress.value,我们可以实时更新进度条的状态。

3. 使用 progressbar2 制作进度条

progressbar2 是另一个用于创建进度条的 Python 库。它提供了丰富的功能和定制选项。

3.1 安装 progressbar2

首先,我们需要安装 progressbar2。可以通过以下命令进行安装:

pip install progressbar2

3.2 基本用法

以下是一个使用 progressbar2 创建进度条的基本例子:

import progressbar
import time

# 创建一个进度条
bar = progressbar.ProgressBar(max_value=100)
for i in range(100):
    time.sleep(0.1)
    bar.update(i + 1)

在这个例子中,progressbar.ProgressBar 用于创建一个进度条,bar.update 用于更新进度条的状态。

3.3 自定义进度条

progressbar2 提供了多种自定义选项,例如设置进度条的格式、颜色、宽度等。以下是一个自定义进度条的例子:

import progressbar
import time

# 创建一个自定义进度条
bar = progressbar.ProgressBar(
    widgets=[
        'Processing: ',
        progressbar.Bar(),
        ' ',
        progressbar.Percentage(),
        ' ',
        progressbar.ETA()
    ],
    max_value=100
)
for i in range(100):
    time.sleep(0.1)
    bar.update(i + 1)

在这个例子中,widgets 参数用于设置进度条的格式,progressbar.Bar() 用于显示进度条,progressbar.Percentage() 用于显示百分比,progressbar.ETA() 用于显示预计剩余时间。

4. 使用 tqdm.notebook 制作进度条

tqdm 还提供了一个专门用于 Jupyter Notebook 的模块 tqdm.notebook,它提供了更美观的进度条。

4.1 安装 tqdm.notebook

tqdm.notebooktqdm 的一部分,因此不需要单独安装。只需确保已经安装了 tqdm

4.2 基本用法

以下是一个使用 tqdm.notebook 创建进度条的基本例子:

from tqdm.notebook import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)

在这个例子中,tqdm.notebook.tqdm 用于创建一个适用于 Jupyter Notebook 的进度条。

4.3 自定义进度条

tqdm.notebook 也支持多种自定义选项,例如设置进度条的颜色、描述、单位等。以下是一个自定义进度条的例子:

from tqdm.notebook import tqdm
import time

for i in tqdm(range(100), desc="Processing", unit="iteration", colour='blue'):
    time.sleep(0.1)

在这个例子中,desc 参数用于设置进度条的描述,unit 参数用于设置单位,colour 参数用于设置进度条的颜色。

5. 使用 alive-progress 制作进度条

alive-progress 是一个相对较新的进度条库,它提供了动态的、实时的进度条效果。

5.1 安装 alive-progress

首先,我们需要安装 alive-progress。可以通过以下命令进行安装:

pip install alive-progress

5.2 基本用法

以下是一个使用 alive-progress 创建进度条的基本例子:

from alive_progress import alive_bar
import time

with alive_bar(100) as bar:
    for i in range(100):
        time.sleep(0.1)
        bar()

在这个例子中,alive_bar 用于创建一个动态的进度条,bar() 用于更新进度条的状态。

5.3 自定义进度条

alive-progress 提供了多种自定义选项,例如设置进度条的样式、颜色、速度等。以下是一个自定义进度条的例子:

from alive_progress import alive_bar
import time

with alive_bar(100, title="Processing", bar="blocks", spinner="dots") as bar:
    for i in range(100):
        time.sleep(0.1)
        bar()

在这个例子中,title 参数用于设置进度条的标题,bar 参数用于设置进度条的样式,spinner 参数用于设置动态效果。

6. 总结

在 Jupyter Notebook 中制作进度条是一个非常实用的功能,尤其是在处理大规模数据集或运行耗时的计算任务时。本文介绍了多种制作进度条的方法和工具,包括 tqdmipywidgetsprogressbar2tqdm.notebookalive-progress。每种工具都有其独特的优势和适用场景,用户可以根据自己的需求选择合适的工具。

通过使用这些工具,用户可以更直观地监控任务的进度,提高工作效率。希望本文能够帮助读者更好地理解和应用进度条,从而在数据科学和机器学习的工作中取得更好的成果。

推荐阅读:
  1. 在jupyter中使用python的方法
  2. 在pycharm中打开jupyter的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jupyter notebook

上一篇:redis单节点实例分析

下一篇:JavaScript如何实现环绕鼠标旋转效果

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》