Como hacer Ciencia de Datos (Data Science) a los productos de una Tienda de Postres – Parte 16
En esta página:
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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.
- Data Science (Ciencia de Datos)
- 01-05-2020
- 13-08-2021
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)