python中的进度条工具tqdm详解

tqdm 是 Python 中一个非常流行的进度条工具,常用于长时间运行的任务,如数据处理、训练机器学习模型等。tqdm 的主要优点是易用性和功能丰富,可以在多种场景下使用。下面是 tqdm 的详细介绍及一些常见用法示例:

安装

首先,确保安装了 tqdm,可以使用 pip 进行安装:

pip install tqdm

基本用法

tqdm 最常见的用法是在循环中显示进度条:

from tqdm import tqdm
import time

for i in tqdm(range(100)):
    time.sleep(0.1)  # 模拟耗时操作

在函数中使用

可以将 tqdm 与函数结合使用:

from tqdm import tqdm
import time

def process_data(item):
    time.sleep(0.1)  # 模拟数据处理

data = range(100)
for item in tqdm(data):
    process_data(item)

进度条描述

可以使用 desc 参数为进度条添加描述:

for item in tqdm(data, desc="Processing"):
    process_data(item)

进度条格式化

tqdm 提供了多种参数来控制进度条的显示样式:

  • total: 总迭代次数。
  • leave: 是否在迭代结束后保留进度条(默认为 True)。
  • ncols: 进度条的宽度。
  • mininterval: 最小更新时间间隔(秒)。
  • maxinterval: 最大更新时间间隔(秒)。
  • ascii: 使用 ASCII 字符而不是 Unicode 字符显示进度条。
for item in tqdm(data, desc="Processing", total=100, leave=True, ncols=100, ascii=True):
    process_data(item)

与 pandas 一起使用

tqdm 可以很方便地与 pandas 一起使用,特别是在处理 DataFrame 时:

import pandas as pd
from tqdm import tqdm

# 为 pandas 应用 tqdm
tqdm.pandas()

# 示例 DataFrame
df = pd.DataFrame({'a': range(1000)})

# 使用 progress_apply 显示进度条
df['a'].progress_apply(lambda x: x ** 2)

嵌套进度条

tqdm 支持嵌套进度条,适用于多层循环:

from tqdm import tqdm
import time

for i in tqdm(range(5), desc="Outer loop"):
    for j in tqdm(range(100), desc="Inner loop", leave=False):
        time.sleep(0.01)

进度条更新

有时候需要手动更新进度条,这可以使用 tqdm 的更新方法:

from tqdm import tqdm
import time

pbar = tqdm(total=100)
for i in range(10):
    time.sleep(0.1)
    pbar.update(10)
pbar.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值