Como hacer Ciencia de Datos (Data Science) a los productos de una Tienda de Postres – Parte 10
Demo
En este Post continuaremos con la parte anterior llamada Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 9 en donde terminamos de filtrar los Datos de Ventas Generales específicamente con el horario de Ventas Generales por la Noche (6PM – 11PM), estos datos los especifique en la Parte 2 de este tutorial y en esta Parte 10 analizaremos los siguientes datos.
Partes
Antes de continuar con este Post te recomiendo leer los siguientes artículos:
- Errores que impiden hacer uso de las mejores prácticas de la Ciencia de Datos (Data Science)
- Como usar el Lenguaje de Programación R en Jupyter Notebook
- Que es la Ciencia de Datos (Data Science)
Continuemos con el Post: Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 10
Los siguientes datos que analizaré, son los Datos de Postres Consumidos según el Horario de la Tienda, específicamente las Ventas de Postres por la Mañana (9AM – 12PM).
Para mantener un orden de mis consultas voy a crear un nuevo archivo, para esto dentro de Jupyter voy a File > New Notebook > Python 3
En este nuevo Documento analizaré las Ventas de Postres por la Mañana (9AM – 12PM).
Datos de Postres Consumidos según el Horario de la Tienda: Ventas de Postres por la Mañana (9AM – 12PM)
Lo primero que haré es importar la librería pandas y le asigno el nombre de variable pd
1 2 3 4 |
import pandas import pandas as pd |
Luego creo una variable con el nombre ventas y en su interior hago la lectura del archivo ventas.json en donde se encuentran todas las ventas realizadas durante el día en la Tienda de Postres. Además crearé una variable llamada datos y dentro de ella indico las columnas para mi tabla en donde mostraré las ventas realizadas por la Noche, estas columnas son id, producto, categoria, cliente, dni, fnacimientocliente, precio, img, created_at y updated_at
1 2 3 4 5 6 7 8 9 |
ventas = pandas.read_json("ventas.json", orient="split", encoding="utf-8") datos = pd.DataFrame( ventas, columns = ['id', 'producto', 'categoria', 'cliente', 'dni', 'fnacimientocliente', 'precio', 'img', 'created_at', 'updated_at']) datos |
Nota: El archivo ventas.json lo exporte en la Parte 5 de este tutorial.
A diferencia de las consultas anteriores en Datos Ventas Generales, no utilizaba el campo o columna categoria del archivo ventas.json, y en esta consulta si es necesaria su uso, por lo mismo que necesito saber la categoría a la cual pertenece un producto.
Bien con el código anterior voy a imprimir una Tabla con todas las ventas realizadas en la Tienda de Postres, para esto presiono el botón Run y obtengo la Tabla con las columnas que especifique en la variable datos
Para obtener las ventas realizadas en el horario de noche voy usar la columna de tipo fecha o timestamp llamada created_at esta contiene la hora, fecha, minuto, segundos y milisegundos de una venta realizada.
1 2 3 |
datos['created_at'] = pd.to_datetime(datos['created_at']) |
A diferencia de las consultas anteriores, esta vez voy a declarar 3 variables, una llamada hi (Hora inicial), otra llamada hf (Hora final) y categoria (Categoría del producto).
La variable hi va contener el valor de las 9 AM (09:00:00.000000) y la variable hf contendrá el valor 12 PM (12:00:00.000000), las horas las especifico en formato de 24 horas, en la variable categoria coloco el valor postre, ya que es la categoría de productos que quiero analizar.
1 2 3 4 5 |
hi = '2019-09-16 09:00:00.000000' hf = '2019-09-16 12:00:00.000000' categoria = 'postre' |
Nota: Las ventas que estoy analizando en todo el Tutorial se realizaron el día 16-09-2019
Para leer las ventas realizadas de los productos de la categoría postres, voy a usar la columna categoria, esta columna contiene el nombre de la categoría de un producto.
1 2 3 |
datos['categoria'] = datos[['categoria']] |
Paso seguido creo una variable con el nombre filtrar y dentro de ella hago uso de operadores lógicos en Python para filtrar las ventas realizadas desde las 9AM hasta las 12PM, para esto paso las variables hi y hf que contienen los rangos de horarios a analizar y al final la variable categoria.
Lo que haré es consultar si la columna created_at es mayor o igual a la Hora inicial (hi) y si la columna created_at es menor o igual a la Hora final (hf), y al final consulto si la columna categoria es igual al valor postre, el cual asigne a la variable categoria.
1 2 3 |
filtrar = (datos['created_at'] >= hi) & (datos['created_at'] <= hf) & (datos['categoria']== categoria) |
Ahora voy a crear una variable llamada resultado y en su interior obtendré las ventas filtradas haciendo uso del método .loc al cual le paso la variable filtrar
1 2 3 4 |
resultado = datos.loc[filtrar] resultado |
Si presiono el botón Run y obtengo una tabla con las ventas realizadas de 9 AM a 12 PM, es decir en el Turno Mañana de los productos correspondientes a la categoría postres.
En la imagen anterior puedes ver que obtuve solo 3 postres, es una cantidad menor a otras consultas anteriores, esto es porque seleccione solos productos pertenecientes a la categoría postre.
Para finalizar los datos de la tabla con las ventas realizadas en la Mañana pertenecientes a la categoría postre los voy a mostrar en un gráfico Plot, para esto importo la librería matplotlib.pyplot y le doy el nombre de variable plot
Luego le especifico el ancho y alto 20, 11 del gráfico, estas medidas son en pulgadas
1 2 3 4 |
import matplotlib.pyplot as plot plot.rcParams["figure.figsize"] = 20,11 # ancho: 20 , alto: 11 |
Le paso la variable resultado la cual había creado anteriormente y le indico que imprima las columnas producto y created_at
1 2 3 |
resultado.plot(x="producto", y="created_at") |
Y si hago clic en el botón Run y se me imprime un gráfico Plot con las ventas realizadas de 9 AM a 12 PM pertenecientes a la categoría postre.
Ahora te compartiré el código completo
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 28 29 30 31 32 33 |
import pandas import pandas as pd # Lectura del archivo ventas.json ventas = pandas.read_json("ventas.json", orient="split", encoding="utf-8") datos = pd.DataFrame( ventas, columns = ['id', 'producto', 'cliente', 'dni', 'fnacimientocliente', 'precio', 'img', 'created_at', 'updated_at']) datos # Obtener Ventas realizas de 9PM a 12PM datos['created_at'] = pd.to_datetime(datos['created_at']) hi = '2019-09-16 09:00:00.000000' hf = '2019-09-16 12:00:00.000000' categoria = 'postre' # Obtener los productos pertenecientes a la categoría 'postre' datos['categoria'] = datos[['categoria']] filtrar = (datos['created_at'] >= hi) & (datos['created_at'] <= hf) & (datos['categoria']== categoria) resultado = datos.loc[filtrar] resultado # Crear un Gráfico Básico (Plot) con los datos Filtrados import matplotlib.pyplot as plot plot.rcParams["figure.figsize"] = 20,11 # ancho: 20 , alto: 11 resultado.plot(x="producto", y="created_at") |
Eso es todo en este Post, hemos realizado el análisis de todas las ventas realizadas durante la mañana (9AM – 12PM), pertenecientes a la categoría postre.
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 el siguiente capitulo terminare con el análisis de los Demás Datos pendientes.
- Más adelante usaré herramientas de Visualización de Datos más especializadas en el área.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Data Science (Ciencia de Datos)
- 04-02-2020
- 13-08-2021
- Crear un Post - Eventos Devs - Foro
Social
Redes Sociales (Developers)
Redes Sociales (Digital)