Demo
En este Post voy a continuar con la parte anterior llamada Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 11 en donde filtre los Datos de Postres Consumidos según el Horario de la Tienda, específicamente las Ventas de Postres por la Tarde (12PM – 6PM), estos datos los especifique en la Parte 2 de este tutorial, bueno en esta Parte 12 analizaremos los siguientes datos.
Partes
Para que te familiarices con este Tutorial 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 12
Los datos que analizaré, son los Datos de Postres Consumidos según el Horario de la Tienda, específicamente las Ventas de Postres por la Noche (6PM – 11PM).
Quiero 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 mi nuevo Documento que acabo de crear analizaré las Ventas de Postres por la Tarde (6PM – 11PM).
Datos de Postres Consumidos según el Horario de la Tienda: Ventas de Postres por la Tarde (6PM – 11PM)
Lo 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 |
Paso seguido creo 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.
Para esta consulta usaré 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.
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
Ya que quiero 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']) |
Declaro 3 variables, una llamada hi (Hora inicial), otra llamada hf (Hora final) y categoria (Categoría del producto).
Bien la variable hi va contener el valor de las 6 PM (18:00:00.000000) y la variable hf contendrá el valor 11 PM (23: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 18:00:00.000000' hf = '2019-09-16 23:00:00.000000' categoria = 'postre' |
Nota: Las ventas que estoy analizando en todo el Tutorial se realizaron el día 16-09-2019
Ahora 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']] |
Luego 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.
Voy a 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) |
Paso seguido 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 |
Presiono el botón Run y obtengo una tabla con las ventas realizadas de 6 PM a 11 PM, es decir en el Turno Noche de los productos correspondientes a la categoría postres.
Si ves 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.
Por último 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
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 |
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") |
Si hago clic en el botón Run y se me imprime un gráfico Plot con las ventas realizadas de 6 PM a 11 PM pertenecientes a la categoría postre.
A continuación todo 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 6PM a 11PM datos['created_at'] = pd.to_datetime(datos['created_at']) hi = '2019-09-16 18:00:00.000000' hf = '2019-09-16 23: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") |
Hasta aquí este Post, hemos realizado el análisis de todas las ventas realizadas durante la mañana (6PM – 11PM), 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.