Análisis de los 25 retailers más grandes de Estados Unidos
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv('/work/largest_us_retailers.csv')
df.head()
0. Información inicial
df_sorted = df.sort_values('Sales', ascending= 0)
df_sorted
df_size = df_sorted.size
df_shape = df_sorted.shape
df_info = df_sorted.info
print('La cantidad de valores totales en el Data Frame es de', str(df_size), 'datos')
print('La cantidad de Filas y Columnas respectivamente es de', df_shape)
print(' ')
print('Por último vamos a verificar la integridar de la información y de esta manera determinar si hace falta informacion en en Data Frame')
df_info()
I. Preguntas del negocio
#Tip: slicing
df_drop = df_sorted.drop(0).sort_values('Sales', ascending = 0)
#Choose n companies to see their sales
#compañia = int(input('Cuantas compañias quieres ver'))
#com = int(compañia)
#Slicing data using .head(##)
y = df_drop['Sales'].head(24)
x = df_drop['Company'].head(24)
#Customization
#Figure size
fig,ax = plt.subplots(figsize = (16,10))
# Plot Title
plt.title('Ventas', loc = 'Left',fontsize = 20, color = 'black')
plt.xlabel('Company')
plt.ylabel('Sales')
plt.xticks(rotation='vertical')
g = 'green'
#Add x, y gridlines
ax.grid(b =True, color = 'grey', linestyle = '-', linewidth = 0.5, alpha= 0.4)
#Add text watermark
fig.text(0.88, 0.85, "Data Academy Challenge, Y. Torres", fontsize = 15, color = 'black', ha = 'right', va = 'bottom', alpha = 0.9)
#Show Plot
plt.bar(x,y, color = g, width = 0.8)
#Mean of sales of companies selected
msales = df_drop['Sales'].head(compañia).mean()
#msales = dsales.mean()
print('El promedio total de ventas de las compañias es $', msales )
#Choose n companies to see their sales
print('Hey buen dia, solo te comento que esta vizualización contempla la compañia dominante')
#compañia = int(input('Cuantas compañias quieres ver'))
#Slicing data using .head(##)
y = df['Sales'].head(25)
x = df['Company'].head(25)
#Customization
#Figure size
fig,ax = plt.subplots(figsize = (16,10))
# Plot Title
plt.title('Ventas Totales', loc = 'Left',fontsize = 20, color = 'black')
plt.xlabel('Company')
plt.ylabel('Sales')
plt.xticks(rotation='vertical')
g = 'gray'
#Add x, y gridlines
ax.grid(b =True, color = 'grey', linestyle = '-', linewidth = 0.5, alpha= 0.4)
#Add text watermark
fig.text(0.85, 0.85, "Data Academy Challenge, Y. Torres", fontsize = 15, color = 'black', ha = 'right', va = 'bottom', alpha = 0.9)
#Show Plot
plt.bar(x,y, color = g, width = 0.8)
#sum of sales of companies selected
sales = df_drop['Sales'].head(compañia).sum()
print('La suma total de ventas de las compañias es $', sales.round(2) )
#Choose n companies to see their sales
#company = input('Cuantas compañias quieres ver')
#comp = int(company)
y = df['Stores']
x = df['Company']
#Figure Size
fig,ax = plt.subplots(figsize = (10,9))
#Labels
plt.title('Presencia de compañias',fontsize = 20,loc = 'left', color ='black')
plt.xlabel('Compañias')
plt.ylabel('Cantidad de tiendas')
plt.text(20, .025, 'Data Academy Y.Torres')
plt.xticks(rotation='vertical')
plt.grid(True, linestyle = '--', linewidth = 0.5, alpha = 0.4)
plt.bar(companies,store, color = 'green')
#Comparativa tomando en cuenta la compañia dominante y la compañia no dominante
comparativa = int(input('Seleccione el tipo de comaprativa que quiere hacer, 1 para incluir la compañia dominante y 2 para no incluir la compañia'))
if comparativa == 2:
plt.grid(visible= True, linestyle = '--', color = 'grey', linewidth = 0.4, alpha = 0.4)
plt.title('correlation of stores vs saless')
plt.xlabel('stores')
plt.ylabel('sales')
a = df_drop['Stores']
b = df_drop['Sales']
plt.scatter(a,b)
elif:
plt.title('correlation of stores vs saless')
plt.xlabel('stores')
plt.ylabel('sales')
plt.grid(visible= True, linestyle = '--', color = 'grey', linewidth = 0.4, alpha = 0.4)
x= df['Stores']
y= df['Sales']
plt.scatter(x,y)
else:
print('Elige bien, solo hay dos opciones')
#Tip Max - Min
range_drop = max(df_drop['Sales']) - min(df_drop['Sales'])
range_full = max(df['Sales']) - min(df['Sales'])
print('El rango es de $',range_full,'DLS')
print('El rango es de $',range_drop,'DLS')
# Pista pregunta de ejemplo
df_phsto = df.sort_values('Stores', ascending = 0)
b = df['Stores'].head(5)
a = df['Company'].head(5)
#Figure Size
fig,ax = plt.subplots(figsize = (10,8))
#cutomizing
plt.title('Top 5 empresas que mas tiendas físicas tienen', fontsize = 15, loc = 'left')
plt.xlabel('Compañias', fontsize = 14, color = 'gray')
plt.ylabel('Tiendas', fontsize = 14, color = 'gray')
plt.grid(visible= True, linestyle = '--', color = 'grey', linewidth = 0.4, alpha = 0.4)
#plot
plt.bar(a,b, color = 'green', width = 0.5 )
#Figsize
fig,ax = plt.subplots(figsize = (10,8))
#cutomizing
plt.title('Componies with higher sales', fontsize = 15, loc = 'left')
plt.xlabel('Companies', fontsize = 14, color = 'gray')
plt.ylabel('Sales', fontsize = 14, color = 'gray')
plt.grid(visible= True, linestyle = '--', color = 'grey', linewidth = 0.4, alpha = 0.4)
plt.bar(df['Company'].head(5),df['Sales'].head(5))