Como hacer Ciencia de Datos (Data Science) a los productos de una Tienda de Postres – Parte 16
Demo
En la parte anterior llamada Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 15 llevamos acabo el análisis de todas las ventas realizadas durante la noche (6PM – 23PM), pertenecientes a la categoría bebida y con ello terminamos de analizar todos los datos que especifique o mencioné en la Parte 2 de este tutorial y en esta Parte 16 vamos a crear un resumen o reporte de todos los datos obtenidos.
Partes
Antes de continuar con este Post te invito a escuchar el Podcast: “Dominio del trabajo con Varios Lenguajes de Programación”:
Bien ahora continuemos con el Post: Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 16.
Reportes
Como ya tenemos los datos de las ventas realizadas podemos generar un reporte para entregárselo a las personas encargadas de analizar este reporte y llevar acabo la o las tomas de decisiones correspondientes.
Un reporte puede ser creado de diferentes maneras y formas, esto dependerá de la organización para la cual trabajas, estas te piden un reporte con datos y forma determinada, yo haré un reporte para cada grupo de ventas con los datos mas resaltantes, algo parecido a una infografía.
Datos Ventas Generales
Este es el primer grupo de datos que analizamos, ahora crearemos sus respectivos reportes para cada uno.
Ventas Generales por la Mañana (9AM – 12PM)
Para todos los reportes voy a trabajar solamente con la hora de la venta y quitaré la fecha, asimismo defino nuevos nombres de columnas, ya que los nombres de columnas anteriores, no tenían buen aspecto.
# Formateo para extraer solo la hora de la venta datos['created_at'] = pd.to_datetime(datos['created_at']) ff = datos['created_at'].dt.strftime('%H:%M:%S %p') # Formato 00:00:00 AM/PM datos['created_at'] = ff # Selecciono las ventas del rango horario de la mañana horai = '09:00:00' horaf = '12:00:00' filtrar = (ff >= horai) & (ff <= horaf) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Cliente', 'DNI', 'Fecha de Nacimiento', 'Precio', 'Imagen', 'Hora', 'Actualizado'] resultado
Presiono el botón Run para ejecutar el código y obtengo la nueva tabla con los nuevos nombres de columna y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
Ahora genero un gráfico con los Productos y las Horas, asimismo le añado puntos azules para identificar mejor los datos.
import matplotlib.pyplot as plot import numpy as np # Tamaño del gráfico plot.rcParams["figure.figsize"] = 20,11 # Defino los campos del gráfico horas = resultado['Hora'] posisicion_y = np.arange(len(horas)) productos = resultado['Producto'] # Formateo los elementos del gráfico plot.plot(posisicion_y, productos, alpha=0.5) plot.xticks(posisicion_y, horas) plot.xticks(fontsize=16) plot.yticks(fontsize=16) # Defino el título y las etiquetas (labels) del gráfico plot.title('Día: 16-09-2019', fontsize=24, pad=25) plot.xlabel('Hora', fontsize=20, labelpad=25) plot.ylabel('Producto', fontsize=20, labelpad=25) # Imprimo el gráfico plot.scatter(posisicion_y, productos) # Añado puntos azules al gráfico plot.show()
Presiono el botón Run para ejecutar el código y obtengo mi nuevo Gráfico.
Este gráfico se puede guardar como una imagen, solo le das clic con el botón derecho del mouse y selecciona la opción Guardar imagen como…
Tanto la tabla como el gráfico lo añadiré a mi reporte y entonces muestro un reporte con los datos más resaltantes al lado izquierdo, al lado derecho la gráfica resultante del análisis que hice de los datos y debajo una tabla con todos los datos obtenidos de las Ventas Generales por la Mañana (9AM – 12PM).
Con esto tengo el reporte del primer grupo de Ventas Generales por la Mañana (9AM – 12PM).
Ventas Generales por la Tarde (12PM – 6PM)
En todos los reportes voy a trabajar solamente con la hora de la venta y quitaré la fecha, asimismo defino nuevos nombres de columnas, ya que los nombres de columnas anteriores, no tenían buen aspecto.
# Formateo para extraer solo la hora de la venta datos['created_at'] = pd.to_datetime(datos['created_at']) ff = datos['created_at'].dt.strftime('%H:%M:%S %p') # Formato 00:00:00 AM/PM datos['created_at'] = ff # Selecciono las ventas del rango horario de la tarde horai = '12:00:00' horaf = '18:00:00' filtrar = (ff >= horai) & (ff <= horaf) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Cliente', 'DNI', 'Fecha de Nacimiento', 'Precio', 'Imagen', 'Hora', 'Actualizado'] resultado
Ahora presiono el botón Run para ejecutar el código y obtengo la nueva tabla con los nuevos nombres de columna y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
Luego creo un gráfico con los Productos y las Horas, asimismo le añado puntos azules para identificar mejor los datos.
import matplotlib.pyplot as plot import numpy as np # Tamaño del gráfico plot.rcParams["figure.figsize"] = 20,11 # Defino los campos del gráfico horas = resultado['Hora'] posisicion_y = np.arange(len(horas)) productos = resultado['Producto'] # Formateo los elementos del gráfico plot.plot(posisicion_y, productos, alpha=0.5) plot.xticks(posisicion_y, horas) plot.xticks(fontsize=16) plot.yticks(fontsize=16) # Defino el título y las etiquetas (labels) del gráfico plot.title('Día: 16-09-2019', fontsize=24, pad=25) plot.xlabel('Hora', fontsize=20, labelpad=25) plot.ylabel('Producto', fontsize=20, labelpad=25) # Imprimo el gráfico plot.scatter(posisicion_y, productos) # Añado puntos azules al gráfico plot.show()
Entonces presiono el botón Run para ejecutar el código y obtengo mi nuevo Gráfico.
El gráfico se puede guardar como una imagen, solo le das clic con el botón derecho del mouse y selecciona la opción Guardar imagen como…
Este reporte se ve muy agradable para los socios o directivos de la tienda de Postres, han habido bastantes ventas a diferencia del turno anterior.
La tabla y el gráfico que he generado los añado a mi reporte y entonces muestro un reporte con los datos más resaltantes al lado izquierdo, al lado derecho la gráfica resultante del análisis que hice de los datos y debajo una tabla con todos los datos obtenidos de las Ventas Generales por la Mañana (12PM – 6PM).
Así pues obtengo el reporte del segundo grupo de Ventas Generales por la Tarde (12PM – 6PM).
Ventas Generales por la Noche (6PM – 11PM)
En este reporte también voy a trabajar solamente con la hora de la venta y quitaré la fecha, asimismo defino nuevos nombres de columnas, ya que los nombres de columnas anteriores, no tenían buen aspecto.
# Formateo para extraer solo la hora de la venta datos['created_at'] = pd.to_datetime(datos['created_at']) ff = datos['created_at'].dt.strftime('%H:%M:%S %p') # Formato 00:00:00 AM/PM datos['created_at'] = ff # Selecciono las ventas del rango horario de la noche horai = '18:00:00' horaf = '23:00:00' filtrar = (ff >= horai) & (ff <= horaf) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Cliente', 'DNI', 'Fecha de Nacimiento', 'Precio', 'Imagen', 'Hora', 'Actualizado'] resultado
Paso seguido presiono el botón Run para ejecutar el código y obtengo la nueva tabla con los nuevos nombres de columna y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
Y ahora creo un gráfico con los Productos y las Horas, asimismo le añado puntos azules para identificar mejor los datos.
import matplotlib.pyplot as plot import numpy as np # Tamaño del gráfico plot.rcParams["figure.figsize"] = 20,11 # Defino los campos del gráfico horas = resultado['Hora'] posisicion_y = np.arange(len(horas)) productos = resultado['Producto'] # Formateo los elementos del gráfico plot.plot(posisicion_y, productos, alpha=0.5) plot.xticks(posisicion_y, horas) plot.xticks(fontsize=16) plot.yticks(fontsize=16) # Defino el título y las etiquetas (labels) del gráfico plot.title('Día: 16-09-2019', fontsize=24, pad=25) plot.xlabel('Hora', fontsize=20, labelpad=25) plot.ylabel('Producto', fontsize=20, labelpad=25) # Imprimo el gráfico plot.scatter(posisicion_y, productos) # Añado puntos azules al gráfico plot.show()
Ahora presiono el botón Run para ejecutar el código y obtengo mi nuevo Gráfico.
Este gráfico se puede guardar como una imagen, solo le das clic con el botón derecho del mouse y selecciona la opción Guardar imagen como…
Tanto la tabla como el gráfico que he generado los añado a mi reporte y entonces muestro un reporte con los datos más resaltantes al lado izquierdo, al lado derecho la gráfica resultante del análisis que hice de los datos y debajo una tabla con todos los datos obtenidos de las Ventas Generales por la Mañana (6PM – 11PM).
Con esto tengo el reporte del tercer grupo de Ventas Generales por la Noche (6PM – 11PM).
Ten Paciencia, lo que quiero es que entiendas todo el proceso de como funciona la Ciencia de Datos (Data Science) en una caso similar a la realidad.
Nota (s)
- En la siguiente parte, continuaremos con el siguiente reporte del segundo grupo de ventas.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
Social
Redes Sociales (Developers)
Redes Sociales (Digital)