Como hacer Ciencia de Datos (Data Science) a los productos de una Tienda de Postres – Parte 13

Demo
En este Post vamos a continuar con la parte anterior llamada Como hacer Análisis a los productos de una Tienda de Postres mediante Data Science – Parte 12 en donde terminamos de filtrar los Datos de Postres Consumidos según el Horario de la Tienda, específicamente las Ventas de Postres por la Noche (6PM – 11PM), estos datos los especifique en la Parte 2 de este tutorial y en este Post continuaremos analizando 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 13
Los siguientes datos que analizaré, son los Datos de Bebidas Consumidas según el Horario de la tienda, específicamente las Ventas de Bebidas 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 mi nuevo Documento analizaré las Ventas de Bebidas por la Mañana (9AM – 12PM).
Datos de Bebidas Consumidas según el Horario de la tienda: Ventas de Bebidas 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 |
Paso seguido 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 defino las columnas para mi tabla en donde mostraré las ventas realizadas por la Mañana, 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 la consulta haré uso de la columna categoria del archivo ventas.json, ya que necesito saber la categoría a la cual pertenece un producto.
Bueno 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
Ahora voy a obtener las ventas realizadas en el horario de la mañana 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']) |
Voy a declarar 3 variables, una llamada hi (Hora inicial), otra llamada hf (Hora final) y categoria (Categoría del producto).
Dentro de la variable hi colocaré el valor de las 9 AM (09:00:00.000000) y en la variable hf colocaré el valor 12 PM (12:00:00.000000), las horas las especifico en formato de 24 horas, en la variable categoria coloco el valor bebida, 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 = 'bebida' |
Nota: Las ventas que estoy analizando en todo el Tutorial se realizaron el día 16-09-2019
Como quiero leer las ventas realizadas de los productos de la categoría bebidas, 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']] |
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 bebida, el cual asigne a la variable categoria.
1 2 3 |
filtrar = (datos['created_at'] >= hi) & (datos['created_at'] <= hf) & (datos['categoria']== categoria) |
Defino 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 9 AM a 12 PM, es decir en el Turno Mañana de los productos correspondientes a la categoría bebidas.
Puedes ver en la imagen anterior que obtuve solo 3 bebidas, es una cantidad menor a otras consultas anteriores, esto es porque seleccione solos productos pertenecientes a la categoría bebida.
Ahora los datos de la tabla con las ventas realizadas en la Mañana pertenecientes a la categoría bebida 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
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 |
Paso seguido 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") |
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 bebida.
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 = 'bebida' # Obtener los productos pertenecientes a la categoría 'bebida' 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") |
Bien 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 bebida.
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.
Social
Redes Sociales (Developers)
Redes Sociales (Digital)