En este desafío construí una tabla que separa los costos de envío por tipo de cliente y país. Agregué una columna de totales y apliqué estilos personalizados para resaltar los valores más altos. La visualización quedó clara para analizar qué clientes y productos generan mayores costos de envío.
# Datos ficticios de ejemplo
data = {
'segmento_cliente': ['B2B', 'B2C', 'Retail'],
'modo_envio': ['Express', 'Normal', 'Express'],
'ventas': [1000, 1500, 800]
}
ventas = pd.DataFrame(data)
# 1. Crear el DataFrame cliente
df_cliente = ventas.pivot_table(
index='segmento_cliente',
columns='modo_envio',
values='ventas',
aggfunc='sum'
)
# 2. Agregar totales
df_cliente['Total'] = df_cliente.sum(axis=1)
df_cliente.loc['Total'] = df_cliente.sum()
# 3. Crear el objeto estilo
compra_cliente = df_cliente.style.format('{:,.2f}')
# 4. Destacar el elemento en la fila Total
compra_cliente.set_table_styles({
'Total': [{'selector': '.true', 'props': 'background-color: #4682B4;'}]
}, overwrite=False, axis=1)
# 5. Crear la máscara para la fila Total
colores_fila = pd.DataFrame(
[['false', 'false', 'true']], # ajusta según tus columnas
columns=df_cliente.columns,
index=['Total']
)
# 6. Aplicar la máscara al estilo
compra_cliente.set_td_classes(colores_fila)
**
**