Skip to content
Tutoriales
Pandas
How to Plot a DataFrame using Python Pandas

Cómo trazar un DataFrame usando Pandas

La visualización de datos es una habilidad esencial para cualquier persona que trabaje con datos. Te ayuda a obtener información sobre tus datos, presentar los resultados de manera más efectiva y comunicar información compleja de manera simple y visual. En esta guía, te mostraremos cómo trazar un DataFrame usando Pandas, una poderosa herramienta de análisis de datos en Python.

¿Quieres crear rápidamente visualizaciones de datos en Python?

PyGWalker es un proyecto de Python de código abierto que puede ayudar a acelerar el flujo de trabajo de análisis y visualización de datos directamente dentro de entornos basados en Jupyter Notebook.

PyGWalker (opens in a new tab) convierte tu DataFrame de Pandas (o DataFrame de Polars) en una interfaz gráfica visual donde puedes arrastrar y soltar variables para crear gráficos con facilidad. Simplemente usa el siguiente código:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

Puedes ejecutar PyGWalker ahora mismo con estos cuadernos en línea:

¡Y no olvides darnos una ⭐️ en GitHub!

Ejecutar PyGWalker en el cuaderno de Kaggle (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Darle una ⭐️ a PyGWalker en GitHub (opens in a new tab)
Ejecutar PyGWalker en el cuaderno de Kaggle (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)Ejecutar PyGWalker en Google Colab (opens in a new tab)

¿Qué es Pandas?

Pandas es una biblioteca de código abierto que proporciona estructuras de datos y herramientas de análisis de datos de alto rendimiento y fáciles de usar para Python. Está construido sobre Matplotlib (opens in a new tab), una biblioteca popular de trazado en Python, y proporciona una interfaz amigable para crear una variedad de gráficos.

¿Cuáles son los beneficios de usar Pandas para la visualización de datos?

Pandas ofrece varias ventajas para la visualización de datos, incluyendo:

  • Manipulación fácil de conjuntos de datos grandes
  • Integración con otras bibliotecas de Python
  • Una amplia gama de tipos de gráficos
  • Personalización para visualizaciones complejas

¿Cuáles son los diferentes tipos de gráficos que se pueden crear con Pandas?

Pandas admite una amplia variedad de tipos de gráficos, incluyendo:

  • Gráficos de línea
  • Gráficos de barras
  • Histogramas
  • Gráficos de caja
  • Gráficos de dispersión
  • Gráficos de hexágonos
  • Gráficos de área
  • Gráficos circulares

¿Cómo importar bibliotecas y conjuntos de datos en Pandas?

Antes de poder comenzar a trazar, deberás importar las bibliotecas necesarias y cargar tu conjunto de datos. Aquí tienes un ejemplo de cómo importar Pandas y leer un archivo CSV:

import pandas as pd
 
data = pd.read_csv('data.csv')

¿Qué es un gráfico de línea en Pandas?

Un gráfico de línea es un tipo de gráfico que muestra información como una serie de puntos de datos conectados por segmentos de línea recta. Es útil para visualizar tendencias y relaciones entre variables a lo largo del tiempo.

Aquí tienes un ejemplo de cómo crear un simple gráfico de líneas en Pandas:

data.plot(kind='line', x='date', y='price')

¿Cómo crear un gráfico de barras en Pandas?

Un gráfico de barras es un tipo de gráfico que muestra datos mediante barras rectangulares, donde las longitudes de las barras representan los valores de los datos. Es útil para visualizar datos categóricos y comparar valores entre categorías.

Aquí tienes un ejemplo de cómo crear un simple gráfico de barras en Pandas:

data.plot(kind='bar', x='category', y='value')

Ahora que tienes una comprensión básica de Pandas y sus capacidades de trazado, vamos a profundizar en algunos ejemplos más avanzados.

Ejemplo 1: Gráfico de Líneas de Precios Mensuales de Acciones

En este ejemplo, trazaremos los precios mensuales de las acciones de tres gigantes tecnológicos: Facebook, Microsoft y Apple. Primero, importaremos las bibliotecas necesarias y cargaremos los datos de las acciones:

import pandas as pd import matplotlib.pyplot as plt  stock_data = pd.read_csv('stock_data.csv')

Luego, re-muestrearemos los datos para obtener el precio promedio de las acciones para cada mes:

monthly_data = stock_data.resample('M', on='Date').mean()

Finalmente, trazaremos los precios mensuales de las acciones para cada empresa:

monthly_data.plot(kind='line', x='Date', y=['Facebook', 'Microsoft', 'Apple'])
plt.title('Precios Mensuales de Acciones de Facebook, Microsoft y Apple')
plt.xlabel('Fecha')
plt.ylabel('Precio de la Acción')
plt.legend(['Facebook', 'Microsoft', 'Apple'])
plt.show()

Este gráfico muestra las tendencias de precios mensuales de las acciones de Facebook, Microsoft y Apple, lo que nos permite comparar su rendimiento a lo largo del tiempo.

Ejemplo 2: Gráfico de Barras de Ventas de Productos

En este ejemplo, crearemos un gráfico de barras para visualizar las ventas de diferentes productos en una tienda. Primero, importemos las bibliotecas necesarias y carguemos los datos de ventas:

import pandas as pd import matplotlib.pyplot as plt  sales_data = pd.read_csv('sales_data.csv')

A continuación, agregaremos los datos de ventas por producto:

product_sales = sales_data.groupby('Product')['Sales'].sum()

Ahora, crearemos un gráfico de barras para visualizar las ventas de cada producto:

product_sales.plot(kind='bar')  plt.title('Ventas de productos') plt.xlabel('Producto') plt.ylabel('Ventas') plt.show()

Este gráfico de barras muestra las ventas de cada producto, lo que facilita la identificación de los productos más vendidos en la tienda.

Ejemplo 3: Personalización de gráficos en Pandas

Pandas te permite personalizar tus gráficos de diversas formas, como cambiar colores, agregar etiquetas y ajustar el tamaño del gráfico. Aquí tienes un ejemplo de cómo personalizar un gráfico de líneas en Pandas:

import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv('data.csv')
data.plot(kind='line', x='date', y='price', figsize=(10, 6), color='red', linestyle='dashed', linewidth=2)
plt.title('Gráfico de línea personalizado')
plt.xlabel('Fecha')
plt.ylabel('Precio')
plt.show()

En este ejemplo, hemos personalizado el gráfico de líneas cambiando el color a rojo, utilizando un estilo de línea discontinua y estableciendo el ancho de línea en 2. También hemos ajustado el tamaño del gráfico utilizando el parámetro figsize.

Ejemplo 4: Graficar un DataFrame de Pandas con múltiples ejes

A veces, es posible que desees mostrar varios gráficos dentro de la misma figura. Pandas facilita la creación de subgráficos utilizando el parámetro subplots. Aquí tienes un ejemplo de cómo crear una cuadrícula de subgráficos 2x2:

import pandas as pd
import matplotlib.pyplot as plt
 
data = pd.read_csv('data.csv')
 
fig, axes = plt.subplots(2, 2, figsize=(10, 6))
 
data.plot(kind='line', x='date', y='price', ax=axes[0, 0])
data.plot(kind='bar', x='category', y='value', ax=axes[0, 1])
data.plot(kind='scatter', x='date', y='price', ax=axes[1, 0])
data.plot(kind='hist', y='price', ax=axes[1, 1])
 
plt.tight_layout()
plt.show()

En este ejemplo, hemos creado una cuadrícula de subgráficos 2x2, cada uno conteniendo un tipo de gráfico diferente.

Ejemplo 5: Agregar barras de error a un gráfico de Pandas

Las barras de error son útiles para mostrar la variabilidad o incertidumbre de los puntos de datos en un gráfico. Aquí tienes un ejemplo de cómo agregar barras de error a un gráfico de barras en Pandas:

import pandas as pd
import matplotlib.pyplot as plt
 
data = pd.read_csv('data.csv')
 
data.plot(kind='bar', x='category', y='value', yerr='error')
 
plt.title('Gráfico de barras con barras de error')
plt.xlabel('Categoría')
plt.ylabel('Valor')
plt.show()

En este ejemplo, hemos agregado barras de error al gráfico de barras utilizando el parámetro yerr, que toma el nombre de la columna que contiene los valores de error.

Ejemplo 6: Personalización de la leyenda en un gráfico de Pandas

Puedes personalizar la leyenda en un gráfico de Pandas ajustando su posición, tamaño y otras propiedades. Aquí tienes un ejemplo de cómo personalizar la leyenda en un gráfico de líneas:

import pandas as pd
import matplotlib.pyplot as plt
 
data = pd.read_csv('data.csv')
 
ax = data.plot(kind='line', x='date', y='price')
 
ax.legend(loc='upper right', fontsize=12, title='Precio', title_fontsize=14, frameon=False)
 
plt.title('Gráfico de líneas con leyenda personalizada')
plt.xlabel('Fecha')
plt.ylabel('Precio')
plt.show()

En este ejemplo, hemos personalizado la leyenda configurando su ubicación en la esquina superior derecha, cambiando el tamaño de fuente a 12, agregando un título, estableciendo el tamaño de fuente del título en 14 y eliminando el marco alrededor de la leyenda.

Ejemplo 7: Manejo de datos categóricos en un gráfico de Pandas

Pandas facilita el manejo de datos categóricos al crear gráficos. Aquí tienes un ejemplo de cómo crear un gráfico de barras utilizando datos categóricos:

import pandas as pd
import matplotlib.pyplot as plt
 
data = pd.read_csv('categorical_data.csv')
 
data['category'] = data['category'].astype('category')
 
data.plot(kind='bar', x='category', y='value')
 
plt.title('Gráfico de barras con datos categóricos')
plt.xlabel('Categoría')
plt.ylabel('Valor')
plt.show()

En este ejemplo, hemos convertido la columna 'category' en un tipo de dato categórico utilizando el método astype, lo que permite a Pandas manejar correctamente los datos categóricos al crear el gráfico de barras.

Ejemplo 8: Graficar datos con diferentes escalas en varios ejes

A veces, es posible que desees graficar datos con diferentes escalas en la misma figura. Puedes hacer esto en Pandas utilizando varios ejes. Aquí tienes un ejemplo de cómo crear un gráfico de líneas con dos ejes y:

import pandas as pd
import matplotlib.pyplot as plt
 
data = pd.read_csv('data.csv')
 
fig, ax1 = plt.subplots()
 
ax1.plot(data['date'], data['price'], color='blue', label='Precio')
ax1.set_xlabel('Fecha')
ax1.set_ylabel('Precio', color='blue')
ax1.tick_params(axis='y', labelcolor='blue')
 
ax2 = ax1.twinx()
 
ax2.plot(data['date'], data['volume'], color='red', label='Volumen')
ax2.set_ylabel('Volumen', color='red')
ax2.tick_params(axis='y', labelcolor='red')
 
fig.legend(loc='upper right')
plt.title('Gráfico de líneas con dos ejes y')
plt.show()

En este ejemplo, hemos creado un gráfico de líneas con dos ejes y, uno para el precio y otro para el volumen. Los datos de precio se representan en azul en el eje y izquierdo, mientras que los datos de volumen se representan en rojo en el eje y derecho.

Conclusión

Con estos ejemplos de código, ahora deberías tener un sólido entendimiento de cómo graficar un DataFrame utilizando Pandas. Ya seas principiante o experto, estos ejemplos deberían ayudarte a crear visualizaciones hermosas, informativas y atractivas que te permitan comprender y comunicar mejor tus datos.

Más tutoriales de Pandas: