curso
Tabular en Python: Una guía completa
Los datos tabulares son datos estructurados en filas y columnas. Estructurar los datos de este modo es importante porque facilita la interpretación de los resultados. En Python, podemos crear datos tabulares de aspecto agradable utilizando la biblioteca tabulate
. La biblioteca tabulate
es fácil de usar y se ha convertido en una de las herramientas preferidas de los científicos de datos, analistas y desarrolladores que necesitan crear tablas con un formato limpio para su presentación.
Si estás empezando como analista o científico de datos, te recomiendo que sigas el curso Introducción a Python de DataCamp para aprender los fundamentos del lenguaje Python, incluidas las funciones y los paquetes.
¿Qué es Tabular en Python?
El paquete tabulate
de Python crea tablas bien formateadas a partir de diversas fuentes de datos. Los principales casos de uso del paquete tabulate
son los siguientes:
-
Visualización de datos en interfaces de línea de comandos (CLI): El paquete
tabulate
ayuda a los desarrolladores a mostrar tablas formateadas de forma legible en el terminal o la consola. -
Cuadernos Jupyter: La función
tabulate()
ayuda a mostrar tablas agradables en los Cuadernos Jupyter. -
Aplicaciones Web: El paquete
tabulate
ayuda a los desarrolladores a mostrar tablas en formato HTML en aplicaciones web.
Algunas de las principales características de la biblioteca tabulate
son las siguientes:
-
Múltiples formatos de salida: El paquete
tabulate
permite la salida de tablas en distintos formatos, como texto plano, HTML, LaTeX y otros; por tanto, los usuarios pueden elegir según el caso de uso. -
Alineación automática de columnas:
tabulate
Alinea automáticamente las columnas de distintos tipos de datos, como cadenas, números y otros. -
Manejo de diversas estructuras de datos:
tabulate
Maneja diccionarios, listas, pandas DataFrames y matrices NumPy.
Cómo instalar Tabulate en Python
Puedes utilizar el gestor de paquetes pip
para instalar el paquete tabulate
en Python. En tu terminal o símbolo del sistema, escribe y ejecuta el siguiente mensaje:
pip install tabulate
Si quieres instalar el paquete para un único usuario sin necesidad de privilegios administrativos, puedes utilizar la bandera –user
como se muestra a continuación.
pip install --user tabulate
Puedes crear un nuevo entorno virtual utilizando el siguiente comando cuando ejecutes scripts en un entorno virtual.
python -m venv myenv
Para activar el entorno virtual, ejecuta los siguientes comandos:
Para Windows:
myenv\Scripts\activate
Para macOS/Linux:
source myenv/bin/activate
Si la instalación se realiza correctamente, puedes ejecutar el siguiente código en tu editor de Python para comprobar el número de versión del paquete tabulate
en el entorno Python.
import tabulate
print(tabulate.__version__)
Si descubres que tus herramientas necesitan actualizarse, lee nuestra guía: Cómo actualizar Python y Pip en Windows, MacOS y Linux.
Usos básicos de Python Tabular
Los ejemplos siguientes muestran el uso básico del paquete tabulate
para crear tablas formateadas.
Crear tablas sencillas
La forma más sencilla de utilizar la función tabulate()
para crear tablas es proporcionando una lista de listas. Los argumentos clave de la sintaxis de la función tabulate()
son los siguientes:
-
tabular_data
: Los datos a formatear, como lista de listas o diccionarios. -
headers
: Las cabeceras que deben figurar en la tabla. Si se omite, la tabla no tendrá cabeceras. -
tablefmt
: El formato de salida de la tabla, como“plain”
,“pipe”
,“grid”
, o“html”
.
El siguiente ejemplo muestra cómo utilizar la función tabulate()
para crear una tabla con formato de cuadrícula.
# Import the tabulate module
from tabulate import tabulate
# Sample data: list of lists
data = [
["Alice", 24, "Engineer"],
["Bob", 30, "Data Scientist"],
["Charlie", 28, "Teacher"]
]
# Creating a table with headers and a grid format
table = tabulate(
data,
headers=["Name", "Age", "Profession"],
tablefmt="grid"
)
print(table)
Tabla con formato de rejilla utilizando Python tabulate. Imagen del autor.
Echa un vistazo a nuestro curso de Fundamentos de Py thon para aprender más sobre listas y otras estructuras de datos en Python.
Visualizar datos de pandas DataFrames
El DataFrame de pandas es una estructura de datos común en Python que maneja datos tabulares. Utilizando la biblioteca tabulate
, puedes formatear los datos tabulares en diferentes formatos según las especificaciones requeridas. El siguiente ejemplo muestra cómo mostrar una tabla utilizando el formato ‘pipe’
.
# Import libraries
import pandas as pd
from tabulate import tabulate
# Sample DataFrame
df = pd.DataFrame({
"Name": ["Alice", "Bob", "Charlie"],
"Age": [24, 30, 28],
"Profession": ["Engineer", "Data Scientist", "Teacher"]
})
# Displaying the DataFrame as a formatted table
table = tabulate(
df,
headers='keys',
tablefmt='pipe'
)
print(table)
Salida de tabla utilizando el estilo de formato de tubería en la función tabulate() de Python. Imagen del autor.
Utilizando el mismo DataFrame, df
, puedes mostrar la salida de la tabla en formato de cuadrícula.
print(tabulate(df, headers='keys', tablefmt='grid'))
Salida de tabla utilizando el estilo de formato de cuadrícula en la función tabulate() de Python. Imagen del autor.
Funciones avanzadas de Python Tabulate
La biblioteca tabulate
ofrece funciones avanzadas que te permiten personalizar el aspecto de tablas complejas. Hablemos de algunas de estas características.
Personalizar el aspecto de la mesa
La biblioteca tabulate
ofrece distintas formas de personalizar el aspecto de las tablas, como ajustar la alineación, establecer el ancho de las columnas y utilizar distintos formatos de tabla. A continuación se indican algunas de las principales opciones de formato.
-
numalign
: Controla la alineación de las columnas numéricas. Los valores aceptables son"left"
,"center"
, y"right"
. -
stralign
: Controla la alineación de las columnas de cadena. Los valores aceptables son"left"
,"center"
, y"right"
. -
colalign
: Permite la alineación específica de columnas individuales proporcionando una lista de opciones de alineación.
El ejemplo siguiente muestra la aplicación de estas opciones de formato.
from tabulate import tabulate
# Sample data: list of lists
data = [
["Alice", 24, 1200.50],
["Bob", 30, 3500.75],
["Charlie", 28, 2500.00]
]
# Customizing table appearance
table = tabulate(
data,
headers=["Name", "Age", "Salary"],
tablefmt="fancy_grid",
numalign="right",
stralign="center",
colalign=("center", "center", "right")
)
print(table)
Salida de tabla personalizada utilizando Python tabulate. Imagen del autor.
Manejo de celdas multilínea
La biblioteca tabulate
también te permite manejar datos de texto que superen el ancho de columna típico. El argumento maxcolwidths
especifica la anchura máxima de cada celda de la tabla de salida para gestionar el ajuste del texto dentro de las celdas. Esta funcionalidad te permite mostrar información larga de forma más legible.
En el ejemplo siguiente, el maxcolwidths
se establece en 30 caracteres para envolver los datos de texto en varias líneas si supera el número de caracteres especificado.
# Import tabulate library
from tabulate import tabulate
# Sample text data
data = [
["Alice", "Lorem ipsum dolor sit amet, consectetur adipiscing elit."],
["Bob", "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."],
["Charlie", "Ut enim ad minim veniam, quis nostrud exercitation ullamco."]
]
# Creating a table with multiline cells
table = tabulate(
data,
headers=["Name", "Description"],
tablefmt="grid",
maxcolwidths=[None, 30] # Set maximum width for the Description column
)
print(table)
Salida de tabla que maneja varias líneas utilizando tabular de Python. Imagen del autor.
Utilizar la utilidad de línea de comandos
La biblioteca tabulate
proporciona una utilidad de línea de comandos para ayudarte a visualizar tablas directamente desde la línea de comandos o el terminal. Esta utilidad de línea de comandos te permite generar las tablas sin escribir código Python adicional.
Supongamos que tienes un archivo CSV llamado data.csv
. Utilizarás el siguiente símbolo del sistema para generar una tabla utilizando tabular.
cat data.csv | tabulate -d , -f grid
Dónde:
-
cat data.csv
lee el contenido del archivo CSV. -
-d ,
especifica el delimitador (coma para CSV). -
-f grid
establece el formato de salida en el estilogrid
.
Ejemplos prácticos y casos de uso
En esta sección, exploraremos los distintos casos de uso de la biblioteca tabulate
para visualizar tablas en Python.
Visualizar datos de ventas
Supongamos que tenemos los siguientes datos de ventas.
# Sample sales data
sales_data = [
["Q1", 15000, 12000, 13000],
["Q2", 17000, 16000, 14500],
["Q3", 18000, 15000, 16000],
["Q4", 20000, 21000, 19000]
]
headers = ["Quarter", "Product A", "Product B", "Product C"]
Puedes mostrar los datos en una tabla utilizando el formato fancy_grid
.
# Import tabulate library
from tabulate import tabulate
# Displaying sales data using the 'fancy_grid' format
table_fancy = tabulate(sales_data, headers=headers, tablefmt="fancy_grid")
print(table_fancy)
Salida de tabla utilizando el formato fancy_grid en Python tabulate. Imagen del autor.
También puedes mostrar los datos en formato HTML ajustando tablefmt
a html
.
# Displaying sales data using the 'html' format
table_html = tabulate(sales_data, headers=headers, tablefmt="HTML")
print(table_html)
Salida:
<table>
<thead>
<tr><th>Quarter </th><th style="text-align: right;"> Product A</th><th style="text-align: right;"> Product B</th><th style="text-align: right;"> Product C</th></tr>
</thead>
<tbody>
<tr><td>Q1 </td><td style="text-align: right;"> 15000</td><td style="text-align: right;"> 12000</td><td style="text-align: right;"> 13000</td></tr>
<tr><td>Q2 </td><td style="text-align: right;"> 17000</td><td style="text-align: right;"> 16000</td><td style="text-align: right;"> 14500</td></tr>
<tr><td>Q3 </td><td style="text-align: right;"> 18000</td><td style="text-align: right;"> 15000</td><td style="text-align: right;"> 16000</td></tr>
<tr><td>Q4 </td><td style="text-align: right;"> 20000</td><td style="text-align: right;"> 21000</td><td style="text-align: right;"> 19000</td></tr>
</tbody>
</table>
La salida de tabla HTML es útil en integraciones web si quieres incrustar la salida de tabla en sitios web. También puedes personalizar aún más la salida de la tabla HTML utilizando CSS para que tenga un aspecto más atractivo para el usuario.
Integración con Jupyter Notebooks
La biblioteca tabulate
puede integrarse fácilmente con los Cuadernos Jupyter para facilitar la presentación de los datos. El siguiente ejemplo muestra cómo crear un DataFrame de muestra en un Jupyter Notebook y mostrarlo en una tabla con formato de cuadrícula.
# Import required library
import pandas as pd
from tabulate import tabulate
# Sample student exam scores DataFrame
exam_scores_df = pd.DataFrame({
"Student": ["Alice", "Bob", "Charlie", "David"],
"Math": [85, 90, 78, 92],
"Science": [88, 76, 95, 85],
"English": [90, 88, 84, 91]
})
# Displaying the DataFrame as a formatted table using 'grid' format
table_jupyter = tabulate(exam_scores_df, headers='keys', tablefmt='grid')
print(table_jupyter)
Salida de tablas utilizando Python tabulate integrado con un Jupyter Notebook. Imagen del autor.
La ventaja de utilizar la biblioteca tabulate
en un entorno Jupyter es que mejora la legibilidad y la comparación de datos, especialmente en tareas de análisis de datos.
Conclusión
La biblioteca tabulate
es importante para crear tablas bien formateadas en Python. Como has visto, también ofrece flexibilidad para su uso en distintos entornos, como Cuadernos Jupyter, líneas de comandos y aplicaciones web, incluyendo opciones para la salida, como HTML.
Si quieres avanzar en tus conocimientos de Python, te recomiendo encarecidamente que consultes el curso de programación en Python de DataCamp. También te animo a que consultes nuestros itinerarios profesionales de Desarrollador de Python y Analista de Datos con Python, que te ayudarán a adquirir las habilidades necesarias para convertirte en un analista de datos competente. Además, si te gusta trabajar con tablas en Python, prueba la Introducción a las Bases de Datos en Python de DataCamp para aprender más sobre el uso de SQL con Python. Por último, haz clic a continuación para convertirte en un científico del aprendizaje automático en Python, si te sientes preparado para dar ese apasionante paso.
Perfeccionamiento en IA para principiantes
Preguntas frecuentes
¿Qué es la biblioteca tabular en Python?
La biblioteca tabulate
crea tablas bien formateadas a partir de diferentes estructuras de datos en Python.
¿Cómo instalo la biblioteca tabular?
Para instalar la biblioteca tabulate
, utiliza el comando pip install tabulate
.
¿Qué formatos de salida admite la biblioteca tabular de Python?
La biblioteca tabulate
admite salidas de tablas en texto plano, HTML, cuadrícula, LaTeX, Markdown y otros formatos.
¿Qué estructuras de datos admite la biblioteca tabular?
La biblioteca tabulate
puede utilizarse para crear salidas de tablas a partir de las siguientes estructuras de datos: Lista de listas, lista de diccionarios, diccionario de iterables, matrices NumPy bidimensionales y Pandas DataFrames.
¿Se puede utilizar la biblioteca tabular directamente en la línea de comandos?
Tabulate proporciona una utilidad de línea de comandos para generar tablas directamente desde el terminal sin escribir todo el código Python.
Aprende con DataCamp
curso
Introducción a las funciones en Python
curso