¿Cómo trazar datos de diccionario con Python y Pandas?

En este tutorial, explicaremos cómo puede trazar fácilmente un diccionario con múltiples valores por clave usando la muy poderosa biblioteca de análisis de datos de pandas, que es un módulo de terceros muy popular (no incluido en la biblioteca estándar de Python).

Paso #1: Importar Pandas

En primer lugar, habilitaremos la biblioteca de pandas. Si Pandas no está instalado en su entorno de desarrollo de Python, puede instalarlo fácilmente y evitar errores de módulo no encontrado.

Uno instalado, importe pandas en su programa Python:

import pandas as pd

Paso #2: Crea un diccionario

Ahora crearemos el diccionario que contiene los pares de valores clave que nos gustaría trazar. Transformaremos el diccionario en objetos DataFrame. Las claves se transformarán en las columnas. Los valores, que están representados por objetos de lista, se convertirán en los valores de columna respectivos.

sales_dict = {               'area' : ['B2B', 'Online' , 'Retail', 'B2C'],               'direct' : [441, 463, 382, 409],              'telesales' : [324, 201, 184, 285]  }

Paso # 3: Crear un marco de datos

Lo siguiente es inicializar un DataFrame:

data = pd.DataFrame(sales_dict)  data.head()

Veamos los valores de nuestro diccionario:

areadirect_salestele_sales0123

B2B 441 324
En línea 463 201
Minorista 382 184
B2C 409 285

Paso #4: Trace un gráfico de líneas

El objeto pandas DataFrame tiene muchos métodos incorporados útiles. Uno de ellos es el método plot(). Podemos usar este último para generar un gráfico rápido que muestre nuestros datos de DataFrame:

data.plot(x='area', title="Direct vs Tele sales", colormap = 'viridis');

Aquí está nuestro diagrama de línea simple:

Paso #5: Trace un gráfico de barras

Trazar un gráfico de barras es igualmente fácil:

data.plot(kind='bar', x='area', title="Direct vs Tele sales", colormap = 'viridis');

Aquí está el gráfico de barras:

También es posible crear un gráfico de barras apiladas pasando el parámetro stacked=True:

data.plot(kind='bar', x='area', stacked=True, title="Direct vs Tele sales", colormap = 'viridis');

Y aquí está la trama apilada:

Aprendizaje adicional

¿Cómo crear y mostrar gráficos de barras con pandas?