当前位置: 首页 > news >正文

Python中的进度条显示方案

c2bf673655ec5f5f5f7c4ad190d152a3.png

迷途小书童

读完需要

3

分钟

速读仅需 1 分钟

大家好,我是迷途小书童!

tqdm 是一个非常常用的 Python 进度条库,它可以在循环迭代和 IO 操作期间添加一个进度条,直观地显示循环迭代的进程。

tqdm 是在 2013 年发布的,目的是为 Python 提供一个简单、轻量级的进度条解决方案。随后 tqdm 又增加了对 Jupyter notebook的支持,也支持在 pandas 和 PySpark 等数据处理操作中使用。现在 tqdm 已经被广泛应用于机器学习、深度学习等 Python 项目中。

tqdm 使用迭代器来封装你的迭代对象,追踪迭代次数,并在每次迭代时打印进度条。实际上它会在一个线程内对迭代器进行监控,不会影响原迭代的性能。

1

   

安装

这是一个第三方库,所以安装一下,执行命令

pip install tqdm

2

   

示例代码

下面来看看常见的一些示例程序

import time
from tqdm import tqdm# 简单的for循环
for i in tqdm(range(1000)): time.sleep(0.01)

081e4f9104def6583c75c9ce03329039.png

使用 trange,它是 tqdm(range(i)) 的简单写法

import time
from tqdm import trangefor i in trange(1000):time.sleep(0.01)

c5edd1c0cc2944bcd1c74e28722f7e89.png

tqdm 传入数组

import time
from tqdm import tqdmfor char in tqdm(["a", "b", "c", "d", "e", "f", "g"]):time.sleep(0.01)

读取文件中的数据

import time
from tqdm import tqdm# 读取文件中的数据
with open('file.txt') as f:for line in tqdm(f):time.sleep(0.01)

ad36cfc9006d3fd18ee38d828240122a.png

在 pandas 中使用

import pandas as pd
import numpy as np
from tqdm import tqdmdf = pd.DataFrame(np.random.randint(0, 500, (100000, 6)))
tqdm.pandas(desc="Demo")
df.progress_apply(lambda x: x**2)

3

   

小结

总体来说,tqdm 是一个非常实用的 Python 进度条库,上手简单但功能强大,是 Python 项目中显示进度的首选方案。

4

   

免费社群

9b9bbd818c2ab21f862db6240dc5cbc2.jpeg

http://www.lryc.cn/news/162222.html

相关文章:

  • 2023-09-05力扣每日一题
  • ODC现已开源:与开发者共创企业级的数据库协同开发工具
  • 生成克隆钓鱼网站与对win7进行后渗透操作
  • Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装
  • MATLAB中M文件编写
  • 企业数字化神经网络
  • C++this指针
  • 【初阶C语言】操作符1--对二进制的操作
  • 安装pyscipopt
  • 原生js实现的轮盘抽奖案例
  • 最经典的解析LSA数据库(第六课)
  • C++基础入门
  • 【每日随笔】驾驭人性 ② ( 员工立场问题 | 立场转变 | 吴越同舟 | 老板如何与员工结成利益共同体 )
  • C++(QT)画图行车
  • Unity中Shader抓取屏幕并实现扭曲效果(优化)
  • 肖sir__设计测试用例方法之_(白盒测试)
  • GoT:用大语言模型解决复杂的问题
  • nginx服务和uwsgi服务如何设置开机自启动
  • 算法-分治算法
  • react 实现监听逻辑
  • vue项目一个页面包含多个时间选择器的处理方案
  • 机器学习入门教学——决策树
  • 文献阅读:Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
  • 从零开发一款ChatGPT VSCode插件
  • go基础09-Go语言的字符串类型
  • 【C++模拟实现】手撕AVL树
  • 如何重置 docker中的mariadb的root
  • 设计模式系列-原型模式
  • 家用电脑可以用做服务器吗
  • CRM软件管理系统的基本功能