Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

09 Desafío: llegó la hora de practicar

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

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

¡Hola César, espero que estés bien!

Tu código parece estar bien estructurado para crear una tabla pivotada y aplicar estilización. Aquí tienes algunas sugerencias para asegurarte de que todo funcione correctamente y para mejorar la visualización:

  1. Verificar el archivo CSV: Asegúrate de que el archivo tienda_libros.csv está correctamente cargado y contiene las columnas pais, categoria, tipo_cliente y costo_envio.

  2. Revisar los nombres de las columnas: Verifica que los nombres de las columnas coincidan exactamente con los utilizados en el archivo CSV. Los errores tipográficos pueden causar problemas.

  3. Ajustar la estilización:

    • Si deseas resaltar más información, puedes utilizar otras funciones de estilización como highlight_min o bar.
    • Puedes ajustar el cmap en background_gradient para utilizar diferentes esquemas de color según tus preferencias.
  4. Visualización interactiva: Si deseas una visualización más interactiva, considera usar bibliotecas como Plotly o Dash para crear gráficos interactivos.

  5. Documentación: Revisa la documentación de Pandas para más opciones de estilización: Pandas Styling.

Espero que estas sugerencias te sean útiles y puedas completar el desafío con éxito. ¡Bons estudios!