La empresa para la que estamos trabajando distribuye productos por toda América del Sur a varias categorías de clientes. Nuestro desafío implica una visualización que permita separar los gastos de envío de cada producto (costo total) por tipo de cliente, de modo que sea posible comprender el tipo de producto que generó más costos de envío para cada tipo de cliente. Además, también es interesante mostrar la distribución de estos costos por país enviado, lo que permite entender también los gastos por país.
Recuerda que, para continuar con el desafío, estamos trabajando con el conjunto de datos tienda_libros.csv.
import pandas as pd
# Carga de datos
df = pd.read_csv('/content/tienda_libros.csv')
# Creación de la tabla pivotada
tabla_gastos = df.pivot_table(
index=['pais', 'categoria'],
columns='tipo_cliente',
values='costo_envio',
aggfunc='sum',
margins=True,
margins_name='Total General'
)
# Aplicación de Estilización
estilo_gastos = tabla_gastos.style\
.format("${:,.2f}")\
.highlight_max(color='lightcoral', subset=pd.IndexSlice[:, ['B2B', 'B2C']])\
.background_gradient(cmap='Greens', subset=['Total General'])\
.set_sticky(axis=1)\
.set_sticky(axis=0)\
.set_caption("Distribución de Gastos de Envío por País, Categoría y Cliente")\
.set_table_styles([
{'selector': 'th', 'props': [('background-color', '#2c3e50'), ('color', 'white'), ('font-family', 'Helvetica')]},
{'selector': 'td', 'props': [('font-family', 'Helvetica'), ('padding', '8px')]}
])
estilo_gastos