Analizar las ventas de una tienda de tecnología online durante el año 2019. Los datos están en formato .csv y divididos por meses. El objetivo es juntar todos los archivos en un mismo .csv y añadir, eliminar o modificar columnas para poder responder correctamente a las preguntas de negocio y crear visualizaciones sencillas que refuercen nuestras conclusiones. Todo esto utilizando Python en el entorno de desarrollo Jupyter Notebook.
Utilizamos un bucle for para concatenar cada uno de los archivos del directorio «Sales_Data» donde se encuentran los 12 meses y tras combinarlos extraemos todo en un archivo .csv que llamaremos «ventas_anuales»
A continuación leemos el archivo que acabamos de crear y lo convertimos en el DataFrame que nos servirá de base para el resto de procedimientos
Empezaremos traduciendo el nombre de las columnas para que nos sea más fácil el resto de procedimientos
Localizar las celdas con valor NaN y eliminar los registros que contengan el valor NaN en todos sus campos
Hemos detectado que en algunos registros se está repitiendo el nombre de cada columna y por lo tanto son registros que debemos eliminar.
Utilizaremos, por ejemplo, la columna «Fecha Pedido» para eliminar todos los registros que empiecen por «Or» («Order Date»)
Cambiamos el tipo de las columnas numéricas para poder realizar operaciones
Añadimos la columna «Mes» extrayendo los dos primeros valores de la columna «Fecha Pedido»
Añadimos la columna «Ventas» multiplicando los valores de la columna «Cantidad Pedido» por «Precio Pedido»
Para crear la columna «Ciudad» utilizaremos 2 funciones que separan la columna «Dirección Compra» por el delimitador «,» para extraer simplemente el nombre de la ciudad y el estado entre paréntesis
Para crear la columna «Hora Pedido» extraemos los últimos 5 caracteres de la columna «Fecha Pedido»
Ahora creamos la columna «Hora Redondeada» a partir de la columna «Hora Pedido» para saber a que hora se han realizado los pedidos obviando el minuto exacto
Creamos un nuevo DataFrame con el mes como índice y el sumatorio de las ventas como valor en orden descendente.
A continuación, con la librería matplotlib, creamos un gráfico de barras para visualizar los resultados
Por lo tanto, ya sabemos la respuesta a la primera pregunta de negocio:
Creamos un nuevo DataFrame con las ciudades como índice y el sumatorio de las ventas como valor en orden descendente.
Creamos otro gráfico de barras para visualizar los resultados
Y ya sabemos también la respuesta a la segunda pregunta de negocio:
Creamos un nuevo DataFrame con las horas como índice y el sumatorio de las ventas como valor en orden descendente.
Creamos otro gráfico de barras para visualizar los resultados
Y por lo tanto ya sabemos la respuesta a la tercera pregunta de negocio:
Creamos un DataFrame únicamente con los registros que tengan un «ID Pedido» repetido para eliminar los pedidos únicos que no nos interesan para responder esta pregunta de negocio
Agrupamos los productos por el «ID Pedido» y posteriormente los unimos en una nueva columna «Juntos» añadiendo una «,» como delimitador
Finalmente, utilizando las librerías «itertools» y «collections» calculamos cuál es la combinación más frecuente para obtener la cuarta respuesta de negocio.
Creamos un nuevo DataFrame con los productos como índice y el sumatorio de la cantidad de ventas como valor en orden descendente.
Creamos un gráfico de barras para visualizar los resultados
Y ya sabemos por lo tanto cual es el producto más vendido:
Ahora necesitamos saber el porqué y para ello crearemos un nuevo DataFrame con los productos como índice y su precio de venta como valor en orden ascendente para comprobar cual es el más barato
Creamos un gráfico de líneas para visualizar los resultados
Y a continuación crearemos un gráfico con la cantidad de ventas visualizadas en barras y el precio de venta de cada producto visualizado como una línea para comprobar si existe algún tipo de relación entre ambos datos
Y efectivamente podemos comprobar que hay una clara relación inversamente proporcional entre el precio de venta de un determinado producto y su cantidad de ventas.
Por lo tanto podemos confirmar que el producto ‘AAA Battaries (4-pack)’ es el más vendido porque es también el más barato.