Como hacer Ciencia de Datos (Data Science) a los productos de una Tienda de Postres – Parte 17
Demo
En la anterior parte llamada Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 16 creamos reportes de las Ventas Generales realizadas por la Mañana, Tarde y Noche, en esta Parte Nro 17 vamos a continuar con la creación de reportes del siguiente grupo de datos, es decir los Datos de Postres Consumidos según el Horario de la Tienda, vamos con ello.
Partes
Antes de continuar con este Post te invito a escuchar el Podcast: “Donde buscar ayuda sobre Programación”:
Bien ahora continuemos con el Post: Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 17.
Vamos a continuar con la creación de reportes de los demás datos, cabe recordar que todos los grupos de datos los definí en la Parte 2 de este tutorial, asimismo que 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 estoy realizando reportes para cada grupo de ventas con los datos mas resaltantes, algo parecido a una infografía.
Datos de Postres Consumidos según el Horario de la Tienda
Bien este es el segundo grupo de datos que analizamos, ahora crearemos sus respectivos reportes para cada uno, estos datos corresponden a las ventas de postres que se realizaron en la mañana, tarde y la noche.
Ventas de Postres por la Mañana (9AM – 12PM)
En este reporte voy a necesitar solamente 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 y defino la categoría que usaré, en este caso la categoría es postre.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# 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' # Defino la categoría que usaré categoria = 'postre' filtrar = (ff >= horai) & (ff <= horaf) & (datos['categoria']== categoria) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Categoría', 'Cliente', 'DNI', 'Fecha de Nacimiento', 'Precio', 'Imagen', 'Hora', 'Actualizado'] resultado |
Luego presiono el botón Run para ejecutar el código y obtengo la nueva tabla con los nuevos nombres de columna, incluyendo la columna categoría y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
Paso seguido 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() |
Y presiono el botón Run para ejecutar el código y obtener mi Gráfico.
Mi gráfico lo puedo guardar como una imagen, solo le doy clic con el botón derecho del mouse y selecciono la opción Guardar imagen como…
La tabla y el gráfico los añadiré a mi reporte, 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 de Postres por la Mañana (9AM – 12PM).
Entonces con esto tengo el reporte del primer grupo de Ventas de Postres por la Mañana (9AM – 12PM).
Ventas de Postres por la Tarde (12PM – 6PM)
Igual que en el reporte anterior, en este reporte voy a necesitar solamente 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 y defino la categoría que usaré, en este caso la categoría es postre.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# 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' # Defino la categoría que usaré categoria = 'postre' filtrar = (ff >= horai) & (ff <= horaf) & (datos['categoria']== categoria) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Categoría', '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, incluyendo la columna categoría y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
En este punto voy a generar 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() |
Bien ahora presiono el botón Run para ejecutar el código y obtener mi Gráfico.
Este gráfico lo puedo guardar como una imagen, solo le doy clic con el botón derecho del mouse y selecciono la opción Guardar imagen como…
Tanto la tabla como el gráfico los añadiré a mi reporte, 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 de Postres por la Tarde (12PM – 6PM).
Con ello pues, he obtenido el reporte del segundo grupo de Ventas de Postres por la Tarde (12PM – 6PM).
Ventas de Postres por la Noche (6PM – 11PM)
Igualmente, en este reporte voy a necesitar solamente 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 y defino la categoría que usaré, en este caso la categoría es postre.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# 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' # Defino la categoría que usaré categoria = 'postre' filtrar = (ff >= horai) & (ff <= horaf) & (datos['categoria']== categoria) resultado = datos.loc[filtrar] # Cambio el nombre de las columnas para mejorar su aspecto resultado.columns = ['ID', 'Producto', 'Categoría', 'Cliente', 'DNI', 'Fecha de Nacimiento', 'Precio', 'Imagen', 'Hora', 'Actualizado'] resultado |
Luego presiono el botón Run para ejecutar el código y obtengo la nueva tabla con los nuevos nombres de columna, incluyendo la columna categoría y la anterior columna llamada created_at que mostraba la fecha y hora, la cambie por Hora en donde solo muestro la hora.
Paso seguido 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() |
Ahora presiono el botón Run para ejecutar el código y obtener mi Gráfico.
El gráfico generado lo puedo guardar como una imagen, solo le doy clic con el botón derecho del mouse y selecciono la opción Guardar imagen como…
Ambos elementos, la tabla y el gráfico los añadiré a mi reporte, 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 de Postres por la Noche (6PM – 11PM).
Y bueno he obtenido el reporte del segundo grupo de Ventas de Postres 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)
- 18-05-2020
- 13-08-2021
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)