Ir al contenido principal

Barras de progreso en Python: Una guía completa con ejemplos

Aprende a crear barras de progreso en Python utilizando tqdm, progressbar2, alive-progress y Tkinter, con las mejores prácticas para mejorar la UX y el rendimiento de la aplicación.
Actualizado 10 may 2025  · 13 min de lectura

En las aplicaciones actuales, los usuarios quieren una respuesta inmediata, especialmente cuando las tareas tardan mucho en completarse. Las barras de progreso de Python son una forma clara y sencilla de mostrar que algo está ocurriendo en segundo plano. Una barra de progreso sólida ayuda a que un programa parezca más rápido, añade un toque profesional y mejora la facilidad de uso. 

En este artículo, aprenderás a implementar barras de progreso en Python utilizando bibliotecas populares como tqdm, progress, progressbar2, alive-progress, y Tkinter, junto con las mejores prácticas para mejorar la experiencia del usuario y el rendimiento de la aplicación.

Para aprender más sobre los conceptos de Python de forma práctica, consulta nuestro curso Curso de Fundamentos de Programación en Python.

¿Qué son las barras de progreso en Python?

Las barras de progreso son omnipresentes. Suelen utilizarse para descargas de archivos, instalaciones de software y canalizaciones ETL. También son útiles para seguir el progreso del entrenamiento de modelos de machine learning.

La barra de progreso muestra cuánto de una tarea se ha completado y cuánto queda. Puede aparecer como texto en una interfaz de línea de comandos (CLI) o como una barra visual en una interfaz gráfica de usuario (GUI).

Las barras de progreso mejoran la experiencia del usuario. Proporcionan actualizaciones en tiempo real, mostrando a los usuarios su progreso en el proceso. Si se produce un retraso, los usuarios pueden decidir si intervienen o esperan. Esta visibilidad reduce la frustración y hace que los tiempos de espera parezcan más cortos. Los usuarios no se quedarán mirando una pantalla estática, preguntándose si está pasando algo; seguirán participando y se sentirán seguros de que se está avanzando.

Los programadores utilizan barras de progreso para controlar el rendimiento de la aplicación. Ayudan a identificar los cuellos de botella, comparar el código y hacer un seguimiento de la duración de las tareas. Las barras de progreso en guiones y flujos de trabajo muestran actualizaciones de estado claras. Ayudan a los usuarios a comprender mejor los procesos de larga duración. También mejoran la usabilidad de las herramientas interactivas y los cuadernos.

Las barras de progreso también pueden servir como una forma sencilla de supervisión del rendimiento. Muestran cuánto tiempo lleva cada tarea. Esto ayuda a los programadores a detectar las fases lentas y a medir la eficacia. Esto permite comparar fácilmente diferentes implementaciones. 

Barras de progreso de la línea de comandos

Las barras de progreso de la línea de comandos proporcionan información visual sobre las tareas de larga duración directamente en el terminal, haciendo que los scripts sean más informativos y fáciles de usar. Python ofrece varias bibliotecas, cada una con puntos fuertes en velocidad, personalización y estilo visual. Examinaremos cuatro de ellos: tqdm, progress, progressbar2, y alive-progress

Tqdm: la norma en rapidez y sencillez

tqdm es una popular biblioteca de Python para crear barras de progreso. Proporciona indicadores de progreso rápidos y versátiles para bucles e iterables. Realiza un seguimiento de las iteraciones y calcula tanto el tiempo restante como el tiempo transcurrido. Esta información actualiza la barra en tiempo real. tqdm funciona en segundo plano. Predice cuánto tiempo queda y omite las actualizaciones que no son necesarias. Es fácil de aprender, consume poca memoria y está respaldado por una sólida comunidad. 

Proceso de instalación

Una forma fácil de instalar tqdm es utilizar el instalador de pip. Escribe el siguiente comando desde el terminal.

pip install tqdm

Imprime el número de versión para asegurarte de que la biblioteca está instalada correctamente.

import tqdm
print(tqdm.__version__)

4.67.1

Uso básico de tqdm

tqdm es fácil de usar. Importa la biblioteca. Envuelve cualquier iterable con tqdm(iterable) para mostrar una barra de progreso.

En lugar de escribir tqdm(range(n)), puedes utilizar la abreviatura trange(n) por comodidad.

from tqdm import trange
import time

for _ in trange(100, desc="Processing"):
    # Do stuff here
    time.sleep(0.05)  # simulate a task

Este código produce una barra de progreso en vivo durante la ejecución.

La barra de progreso muestra

  • Porcentaje completado (22%)
  • Número de iteraciones completadas sobre el total (224/1000)
  • Tiempo transcurrido y tiempo restante estimado (12 segundos transcurridos, 42 segundos restantes)
  • Iteraciones por segundo (18,09 it/s).

Para añadir una descripción a la barra de progreso, especifica la opción desc.

for i in trange(1000, desc='Processing'):  # description
    # Simulate a task
    time.sleep(0.05)

Barras de progreso anidadas 

Las barras de progreso anidadas en tqdm te ayudan a seguir el progreso en varios bucles. También son útiles cuando necesitas hacer un seguimiento de varias etapas de trabajo. Algunos ejemplos son el procesamiento por lotes, los bucles anidados y el entrenamiento de modelos. 

Envuelve cada bucle en un bucle anidado con tqdm. Utiliza los argumentos posición y dejar para controlar cómo aparecen.

  • position: Establece la posición vertical de cada barra de progreso. posición=0 es la barra superior, posición=1 aparece debajo, y así sucesivamente.
  • leave: Si leave=Verdadero, la barra de progreso permanece en pantalla después de que termine. Si leave=False, desaparece para evitar el desorden.
for i in trange(3, desc='Outer loop', leave=True):
    for j in trange(5, desc='Inner loop', leave=False):
        for j in trange(4, desc='Inner inner loop', leave=False):
            time.sleep(0.05)

Las barras de progreso anidadas muestran una jerarquía clara. Te ayudan a visualizar las distintas fases de una tarea. Proporcionan información detallada a varios niveles. Esto ayuda a los programadores a identificar ralentizaciones o cuellos de botella con facilidad.

Integración de Pandas

Tqdm se integra bien con pandas. Proporciona una forma sencilla de añadir barras de progreso a las tareas de DataFrame y series. Muestra el progreso en tiempo real de funciones como apply, groupby, y map. Estas funciones pueden ser lentas con grandes conjuntos de datos.

Para activar esta función, llama a tqdm.pandas(). A continuación, utiliza progress_apply en lugar del método habitual de pandas apply. Esto mostrará una barra de progreso a medida que tu función recorra filas o columnas. Verás el progreso de la operación sin reescribir tu código.

En el siguiente programa, creamos un DataFrame con una columna llamada "números". Esta columna contiene números enteros de 0 a 1000. A continuación, generamos una nueva columna aplicando una operación "lenta" llamada slow_squared

En lugar de utilizar la función estándar pandas apply, utilizamos progress_apply de tqdm. Aparece una barra de progreso durante la operación. Proporciona actualizaciones en tiempo real sobre el grado de procesamiento completado.

import pandas as pd
from tqdm import tqdm
import time

# Simulate a time-consuming operation
def slow_square(x):
    time.sleep(0.01)
    return x**2

# Create a sample DataFrame
df = pd.DataFrame({'numbers': range(1000)})

# Initialize tqdm for pandas
tqdm.pandas(desc="Processing")

# Use progress_apply instead of apply
df['slow_squared'] = df['numbers'].progress_apply(slow_square)
# Print the result
print(df.head())

El resultado del código es el siguiente

Podemos utilizar progress_apply para otras operaciones de DataFrame como groupby.

grouped = df.groupby('numbers').progress_apply(lambda g: g.sum())

Opciones de personalización

Tqdm te permite personalizar las barras de progreso para adaptarlas a distintos entornos y necesidades de los usuarios. Puedes ajustar la anchura con ncols. La página bar_format argument te ofrece un control total sobre la disposición del texto. Además, si configuras dynamic_ncols=True, la barra se redimensionará automáticamente para ajustarse al terminal.

Consideraciones de rendimiento específicas de la tqdm

Tqdm es rápido y ligero. Añade poca sobrecarga, incluso en bucles rápidos. Puedes desactivar las barras de progreso con disable=True. Esto es útil en entornos de producción donde el rendimiento es clave. Para bucles rápidos, actualizar la barra cada vez puede ser demasiado. Por eso, tqdm te permite controlar la frecuencia con la que se actualiza. Puedes utilizar parámetros como mininterval y maxinterval

Progreso: Estilos y giros personalizables

En Progreso de Python te permite crear fácilmente barras de progreso basadas en texto para la línea de comandos. Cuenta con una API sencilla. Admite barras de progreso y spinners y permite una personalización básica de la salida. Es pequeño, rápido y no tiene dependencias. Esto lo hace ideal para guiones rápidos y configuraciones sencillas. 

La biblioteca progress incluye siete estilos integrados de barras de progreso: Barra, Barra de carga, Barra de relleno de cuadrados, Barra de relleno de círculos, Barra incremental, Barra de píxeles y Barra de sombra. 

Para instalarlo, utiliza pip install.

pip install progress

Para utilizarlo, importa el estilo deseado, instala una variable, utiliza .next() en el bucle y .finish() una vez finalizado el proceso. Por ejemplo, para utilizar una ChargingBar, utiliza el siguiente código.

import time
from progress.bar import ChargingBar
bar = ChargingBar('Processing', max=20)
for i in range(20):
    # Do some work
    time.sleep(0.5)
    
    bar.next()
bar.finish()
`

Progress también incluye giradores para tareas de duración desconocida. El código para implementar un spinner es sencillo.

import time
from progress.spinner import Spinner

spinner = Spinner('Processing... ')

# Spinner during a task of unknown duration.
for _ in range(50): 
    # Do stuff 
    time.sleep(0.1)  # simulate a running task

    spinner.next()

spinner.finish()

Este código da como resultado la descripción ("Procesando...") seguida de un spinner.

La biblioteca de progreso es sencilla y ligera, pero tiene algunas limitaciones que debes tener en cuenta. No es compatible con los cuadernos Jupyter, y no puede redimensionarse dinámicamente. Además, ofrece menos opciones de personalización que bibliotecas como tqdm. Funciona bien para tareas básicas de línea de comandos, pero puede tener problemas con trabajos complejos o de alto rendimiento.

Barra de progreso2: Personalización y compatibilidad mejoradas

Barra de progreso2 es una potente biblioteca de Python. Te ayuda a crear barras de progreso flexibles y personalizables para aplicaciones de línea de comandos. Tiene muchos widgets, como porcentaje, ETA, marcadores animados y contadores. Esto lo hace ideal para tareas CLI más complejas o pulidas. 

Progressbar2 ofrece más opciones de control y formato que las bibliotecas más sencillas como progress. También funciona mejor con el registro y los flujos de trabajo multihilo.

Para instalarlo, utiliza pip install.

pip install progressbar2

La clase ProgressBar de progressbar2 muestra el estado de progreso actual. Lo hace con un conjunto de widgets personalizables. 

Un widget es una pieza modular que se actualiza en función del estado de la barra de progreso. Esto incluye el porcentaje completado, el tiempo transcurrido y el tiempo estimado restante. 

Puedes elegir entre muchos tipos de widgets. Incluyen etiquetas de texto, marcadores de progreso, contadores, temporizadores, rotadores y formateadores personalizados. Esta variedad te permite personalizar el aspecto y la función de la barra para tu aplicación.

El uso básico de Progressbar2 es bastante sencillo. 

import time
import progressbar

for i in progressbar.progressbar(range(1000)):
    time.sleep(0.02)

La salida muestra el porcentaje completado, las iteraciones completadas/iteraciones totales, el tiempo transcurrido y el tiempo restante estimado.

Las bibliotecas de barras de progreso suelen basarse en la actualización de una sola línea en el terminal mediante retornos de carro (\r). Esto significa que las declaraciones normales de print() pueden interferir empujando la barra hacia abajo o corrompiendo su salida. La biblioteca progressbar2 proporciona una forma segura de imprimir mensajes sin interferir con la barra de progreso.

import time
import progressbar

bar = progressbar.ProgressBar(redirect_stdout=True)
for i in range(10):
    # Do some task
    time.sleep(0.1)

    # Print statement
    print(f'Loop #{i}')
    bar.update(i)

La biblioteca progressbar2 ofrece una amplia personalización a través de su sistema modular de widgets. Los widgets muestran detalles en la barra de progreso, como el porcentaje completado, el tiempo transcurrido, el tiempo restante estimado, contadores o animaciones de la barra. Puedes mezclar y combinar estos widgets para crear una barra de progreso personalizada. Por ejemplo, puedes mostrar el porcentaje y el tiempo estimado de llegada. También puedes añadir más detalles, como nombres de archivo, marcas de tiempo o giros. 

import time
import progressbar

# Define a custom set of widgets
widgets = [
    'Progress: ',                                # Description text
    progressbar.Percentage(),         # Show percentage completed
    ' ',                              
    progressbar.Bar(marker=':'),      # Custom bar with specified marker
    ' ',
    progressbar.ETA(),                    # Estimated time remaining
    ' | ',
    progressbar.Timer(),                  # Time elapsed
]

# Initialize the progress bar with widgets
bar = progressbar.ProgressBar(widgets=widgets, max_value=50)

# Task
for i in range(50):
    # Do stuff
    time.sleep(0.1)  # Simulate task
    
    bar.update(i + 1)

Alive-progress: animaciones dinámicas para terminales modernos

Alive-progress muestra barras de progreso animadas que cambian en tiempo real. Esto da a las aplicaciones de línea de comandos un aspecto moderno y sensible. La barra avanza y muestra útiles métricas en tiempo real. Muestra el porcentaje completado, el tiempo transcurrido, el tiempo estimado restante y la velocidad de iteración. Esto la hace atractiva e informativa.

Para instalar el sitio alive-progress pip install.

pip install alive-progress

Como se muestra en su página de GitHub, para ver una demostración de sus capacidades, utiliza el siguiente código.

from alive_progress.styles import showtime

showtime()

Verás un resultado similar al siguiente.

Alive-progress tiene la capacidad de mostrar y gestionar varias barras de progreso simultáneamente.

from alive_progress import alive_bar
import time
import threading

# Simulate a task
def simulate_task(name, total):
    with alive_bar(total, title=name) as bar:
        for _ in range(total):
            # Do something
            time.sleep(0.5)

            bar()

# Define threads
threads = [
    threading.Thread(target=simulate_task, args=('Task A', 50)),
    threading.Thread(target=simulate_task, args=('Task B', 70)),
    threading.Thread(target=simulate_task, args=('Task C', 40)),
]

# Start each thread
for t in threads:
    t.start()

# Block the main thread until the program is finished
for t in threads:
    t.join()

La biblioteca alive-progress incluye varios temas incorporados. Los temas controlan elementos como el estilo de animación, los caracteres utilizados para rellenar la barra y el efecto general del movimiento. Algunos temas comunes son classic, pulse y brackets.

import time
from alive_progress import alive_bar

with alive_bar(100, bar='blocks') as bar:
    for _ in range(100):
        # Do something
        time.sleep(0.02)
        
        bar()

Pausa/reanudar - detener temporalmente y reanudar el progreso sin perder el estado

from alive_progress import alive_bar
import time

# Run a task...
with alive_bar(100) as bar:
    for i in range(50):
        # Do something
        time.sleep(0.02)

        bar()
    
    # Pause
    bar.text('Temporarily pausing...')
    time.sleep(1)

    # Resume
    bar.text('Resuming...')
    for i in range(50):
        time.sleep(0.02)
        bar()

Barras de progreso GUI con Tkinter

Tkinter es el conjunto de herramientas GUI (Interfaz Gráfica de Usuario) estándar de Python. El diseño incluye funciones integradas y está listo para usar, por lo que no necesitas instalar nada adicional. Puedes crear ventanas, botones, campos de texto, menús, barras de progreso y mucho más. Tkinter es ideal para crear aplicaciones de escritorio sencillas, herramientas interactivas y prototipos. 

Se puede crear una barra de progreso básica utilizando el código siguiente. 

import tkinter as tk
from tkinter import ttk
import time

def start_progress():
    progress["value"] = 0
    root.update_idletasks()
    for i in range(101):
        time.sleep(0.02)
        progress["value"] = i
        root.update_idletasks()

# Set up the window
root = tk.Tk()
root.title("Progress Bar")
root.geometry("300x100")

# Create a progress bar
progress = ttk.Progressbar(root, orient="horizontal", length=250, mode="determinate")
progress.pack(pady=20)

# Create a start button
start_button = ttk.Button(root, text="Start", command=start_progress)
start_button.pack()

# Start the tkinter loop
root.mainloop()

Salida en mi Mac:

Hay dos modos disponibles con ttk.Progressbar: determinado e indeterminado. El modo determinado se utiliza cuando se conoce la duración o el número de pasos de una tarea. El modo indeterminado se utiliza cuando la duración de la tarea es desconocida o no puede medirse en pasos.

El código anterior es para un modo determinado, ya que sabíamos que la longitud de la tarea era de 250 pasos. A continuación se presenta un ejemplo de modo indeterminado.

import tkinter as tk
from tkinter import ttk
import time
import threading

def start_indeterminate():
    def run():
        # 10 ms between moves
        progress.start(10)

        # Simulate task of unknown duration
        time.sleep(10)

        # Stop
        progress.stop()
    
    # Run in a thread, else the tkinter GUI loop is unresponsive
    threading.Thread(target=run).start()

# Set up the GUI
root = tk.Tk()
root.title("Indeterminate Progress Bar")
root.geometry("300x100")

# Create an indeterminate progress bar
progress = ttk.Progressbar(root, mode='indeterminate', length=250)
progress.pack(pady=20)

# Start button
start_button = ttk.Button(root, text="Start", command=start_indeterminate)
start_button.pack()

# Run the tkinter loop
root.mainloop()

Ten en cuenta que la barra de progreso se ejecutó en un hilo independiente. Si utilizáramos run() directamente en el hilo principal, la llamada a time.sleep() bloquearía el bucle de eventos principal de Tkinter y provocaría la congelación de toda la interfaz gráfica de usuario, incluidos los clics de los botones, el redibujado de las ventanas y la animación de la barra de progreso.

Consideraciones sobre el rendimiento y optimización

¿Qué biblioteca debes utilizar para tu barra de progreso? Parte de la decisión depende de tus requisitos de sobrecarga y de tu caso de uso.

Biblioteca

Sobrecarga

Caso práctico

tqdm

Muy bajo

Bucles rápidos, canalización de datos, impacto mínimo en el rendimiento

progreso

Baja

Scripts CLI sencillos, ligeros y sin dependencias

barra de progreso2

Moderado

Diseños personalizados, ETA y registro; ligera ralentización en tareas rápidas

vivo-progreso

Moderada a alta

Tareas visualmente ricas, salida multibarra, animaciones suaves; mejor para tareas largas

Para mejorar el rendimiento, optimiza la frecuencia de actualización. Un método consiste en no actualizar la barra en cada iteración. Esto es especialmente importante en los bucles rápidos o de alta frecuencia. Utiliza la lógica condicional para actualizar cada N pasos, por ejemplo, cada 100 iteraciones.

En ajustes críticos de rendimiento o código de producción, desactiva las barras de progreso. Aquí no se necesita información visual. Esto ahorra recursos al tiempo que garantiza que la lógica sigue siendo la misma para el desarrollo o la depuración. 

Reducir las operaciones de E/S es clave para el rendimiento. Escribir en el terminal, en el disco o en la red puede ralentizar las cosas. He aquí algunas estrategias para reducir la E/S en tareas críticas para el rendimiento.

  • Almacena la salida y escribe por lotes en lugar de por iteración.
  • Actualiza sólo a intervalos fijos o en condiciones específicas.
  • Minimiza o desactiva print() dentro de los bucles.
  • Añade banderas para suprimir la salida innecesaria en producción.
  • Separa la E/S y el cálculo utilizando hilos o multiprocesamiento.
  • Comprime o agrupa por lotes las escrituras grandes para reducir la frecuencia de E/S del disco.

Buenas prácticas para barras de progreso eficaces

Veamos algunas de las mejores prácticas a tener en cuenta al crear barras de progreso en Python. 

¿Por qué utilizar barras de progreso?

Hay muchas buenas razones para utilizar barras de progreso en tus aplicaciones. En primer lugar, proporcionan información en tiempo real, tranquilizando a los usuarios sobre el progreso de las tareas y reduciendo la incertidumbre. Esta visibilidad mejora la experiencia del usuario, haciendo que los tiempos de espera parezcan más cortos y las interacciones más intuitivas. 

En segundo lugar, al realizar un seguimiento visual de la finalización de las tareas, las barras de progreso facilitan la supervisión del rendimiento, lo que permite tanto a los usuarios como a los programadores detectar rápidamente cuellos de botella o procesos estancados durante operaciones de larga duración. Por último, incorporar barras de progreso eleva la profesionalidad de la interfaz de tu aplicación, transmitiendo claridad y un enfoque de diseño reflexivo y centrado en el usuario.

Tareas de duración conocida frente a tareas de duración desconocida

Utiliza una barra de progreso determinada para las tareas que tengan un tiempo establecido. Esto incluye el procesamiento de archivos, bucles o épocas de entrenamiento de machine learning. Este tipo de barra se rellena en función del progreso medible y da a los usuarios una idea clara de cuánto trabajo queda por hacer.

Para las tareas de duración desconocida, como las llamadas a la API o las comprobaciones en segundo plano, utiliza un spinner o una barra indeterminada. Ofrecen una señal visual de que el proceso está en marcha, aunque no podamos predecir cuánto durará.

¿Qué biblioteca debo utilizar?

La biblioteca La biblioteca que utilices depende de las tareas que intentes realizar.

Tarea 

Biblioteca

Notas

Bucles de alta frecuencia

tqdm

Ligero, eficiente; utiliza el minintervalo para reducir las actualizaciones

Guiones sencillos y puntuales

progreso

Configuración mínima, sin dependencias, ideal para tareas rápidas

Salida estructurada o personalizada

barra de progreso2

Basado en widgets, admite ETA, temporizadores y control de diseño

Tareas multietapa o anidadas

tqdm, vivo-progreso

Admite barras anidadas o visualizaciones multibarra para tareas en capas

Scripts CLI con pulido visual

vivo-progreso

Visuales animados y modernos, experiencia de usuario fluida

Aplicaciones GUI

tkinter

Conjunto de herramientas GUI incorporado con barras determinadas e indeterminadas

Personalización

Cuando personalices las barras de progreso, céntrate en la claridad y la información útil. Esfuérzate por conseguir un buen equilibrio entre ambos. Una barra clara y sencilla con métricas clave suele ser mejor que una abarrotada con demasiada información. 

Puedes utilizar bibliotecas como progressbar2 y alive-progress. Te permiten cambiar el diseño, el color y la animación de tus barras de progreso. Utilizar temas o formatos para mejorar la experiencia del usuario. Evita saturar la pantalla con demasiados widgets o elementos visuales complejos. El objetivo es dar una respuesta útil. Queremos evitar distraer al usuario o que se sienta abrumado.

Tratamiento de excepciones y pruebas de compatibilidad

Envuelve la lógica de la barra de progreso en bloques try-except. Esto ayuda a evitar fallos en la interfaz de usuario o bloqueos si se produce un error durante una tarea. Esto es clave en los scripts que se ejecutan durante mucho tiempo o cuando se utilizan dependencias externas inciertas.

Además, prueba tus barras de progreso en distintos entornos. Compruébalo en varios sistemas operativos, tipos de terminal y anchos de pantalla. Así te asegurarás de que su comportamiento sigue siendo coherente.

Algunas bibliotecas se comportan de forma diferente en cuadernos Jupyter, terminales remotos o shells GUI. Verificar la compatibilidad con antelación puede ayudar a evitar problemas inesperados. De este modo, los usuarios tendrán una experiencia más fluida en la producción.

Consideraciones sobre accesibilidad

Cuando crees indicadores de progreso, ten en cuenta la accesibilidad. Esto ayuda a que todos los usuarios reciban una respuesta clara. Algunas sugerencias:

  • No confíes sólo en el color o la animación para mostrar el progreso. Añade elementos de texto como porcentajes, recuento de pasos o estimaciones de tiempo.
  • Utiliza elementos visuales claros y de alto contraste para mejorar la legibilidad.
  • Asegúrate de que tus barras de progreso funcionan bien con lectores de pantalla en aplicaciones GUI.
  • Para las herramientas de línea de comandos, considera las opciones de verbosidad que imprimen las actualizaciones de progreso en texto sin formato.

Hacer de la accesibilidad una prioridad aumenta la usabilidad. También hace que tus herramientas sean más inclusivas y profesionales.

Conclusión 

Las barras de progreso son una función sencilla pero potente para cualquier aplicación Python. Proporcionan información instantánea, mejoran la experiencia del usuario y controlan el rendimiento y la claridad del código. Elegir la biblioteca de barras de progreso adecuada es clave. Puede mejorar tu software, tanto si estás creando un script rápido, una herramienta de línea de comandos o una aplicación GUI completa. Una implementación meditada puede mejorar la velocidad, profesionalidad y facilidad de uso de tu software. Dar prioridad a la personalización, el rendimiento, la compatibilidad y la accesibilidad hace que las barras de progreso sean algo más que meros elementos visuales. Se convierten en una parte importante del modo en que los usuarios se relacionan con tu trabajo.

Para seguir aprendiendo, consulta estos recursos:

Preguntas frecuentes sobre la barra de progreso en Python

¿Qué es una barra de progreso?

Una barra de progreso es un indicador visual que muestra cuánto de una tarea se ha completado y cuánto queda. Mejora la experiencia del usuario proporcionándole información durante las operaciones largas.

¿Cuáles son las bibliotecas populares de barras de progreso en Python?

Las bibliotecas más comunes son tqdm, progress, progressbar2, y alive-progress.

¿Puedo utilizar barras de progreso con la biblioteca pandas?

Sí, puedes. tqdm se integra con pandas a través de progress_apply() (en lugar de apply) y métodos similares.

¿Puedo personalizar el aspecto de una barra de progreso?

Sí. Bibliotecas como tqdm y progressbar2 te permiten personalizar el diseño, la anchura, el color y la frecuencia de actualización.

¿Qué biblioteca debo utilizar para Jupyter Notebooks?

La biblioteca tqdm.notebook se integra bien con Jupyter.


Mark Pedigo's photo
Author
Mark Pedigo
LinkedIn

Mark Pedigo, PhD, es un distinguido científico de datos con experiencia en ciencia de datos sanitarios, programación y educación. Doctor en Matemáticas, Licenciado en Informática y Certificado Profesional en Inteligencia Artificial, Mark combina los conocimientos técnicos con la resolución práctica de problemas. Su carrera incluye funciones en la detección del fraude, la predicción de la mortalidad infantil y la previsión financiera, junto con contribuciones al software de estimación de costes de la NASA. Como educador, ha impartido clases en DataCamp y en la Universidad Washington de San Luis, y ha sido mentor de programadores noveles. En su tiempo libre, Mark disfruta de la naturaleza de Minnesota con su esposa Mandy y su perro Harley, y toca el piano de jazz.

Temas

Los mejores cursos de Python

Programa

Fundamentos de programación en Python

0 min
Mejora tus conocimientos de programación en Python. Aprenda a trabajar con módulos y paquetes, con tipos de datos incorporados y a escribir funciones personalizadas.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

Tutorial

Introducción al trazado con Matplotlib en Python

Este tutorial muestra cómo utilizar Matplotlib, una potente biblioteca de visualización de datos en Python, para crear gráficos de líneas, barras y dispersión con datos bursátiles.

Kevin Babitz

Tutorial

Tutorial de visualización de datos con Python y Tableau

Aprende a utilizar Python para ampliar las funciones de visualización de datos de Tableau.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Multiprocesamiento en Python: Guía de hilos y procesos

Aprende a gestionar hilos y procesos con el módulo de multiprocesamiento de Python. Descubre las técnicas clave de la programación paralela. Mejora la eficacia de tu código con ejemplos.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Tutorial de pandas en Python: La guía definitiva para principiantes

¿Estás preparado para comenzar tu viaje de pandas? Aquí tienes una guía paso a paso sobre cómo empezar.
Vidhi Chugh's photo

Vidhi Chugh

Tutorial

Desarrollo de backend en Python: Guía completa para principiantes

Esta completa guía te enseña los fundamentos del desarrollo backend en Python. Aprende conceptos básicos, marcos de trabajo y buenas prácticas para empezar a crear aplicaciones web.
Oluseye Jeremiah's photo

Oluseye Jeremiah

line plot python

Tutorial

Gráficos lineales en MatplotLib con Python

Este tutorial práctico profundiza en la creación y personalización de gráficos lineales con Matplotlib, una potente biblioteca de visualización de datos en Python.
Arunn Thevapalan's photo

Arunn Thevapalan

Ver másVer más