Análisis de los 25 retailers más grandes de Estados Unidos
# Importar librerías aquí
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# Importar datos aquí
df = pd.read_csv('largest_us_retailers.csv')
df.head()
I. Preguntas del negocio
mean = df['Sales'][1:].mean()
mean = mean.round(2)
print("El promedio solicitado es de " + "$ " + str(mean))
df_sorted1 = df.sort_values('Sales', ascending=0)
df_sorted1
sns.histplot(data=df_sorted1,x='Sales',y='Company')
df_sorted2 = df.sort_values('Stores', ascending=0)
df_sorted2
sns.histplot(data=df_sorted2,x='Stores',y='Company')
#Scatterplot
sns.scatterplot(data=df_sorted2,x='Stores',y='Sales',hue='Company')
#Legend
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)
median = df['Sales'].median()
Q1 = df['Sales'].quantile(q=0.25)
Q3 = df['Sales'].quantile(q=0.75)
min_val = df['Sales'].quantile(q=0)
max_val= df['Sales'].quantile(q=1.0)
print(min_val,Q1,median,Q3,max_val)
IQR = Q3-Q1
IQR
rango = max_val - min_val
rango
sns.boxplot(df['Sales'])
minlimit = Q1 - 1.5*IQR
maxlimit = Q1 + 1.5*IQR
print('Rango para detección de outliers: {}, {}'.format(minlimit,maxlimit))
x = df_sorted1['Company'][0:5]
y = df_sorted1['Sales'][0:5]
plt.bar(x,y)
plt.title('Top 5 compañías con más ventas')
plt.xlabel('Company')
plt.ylabel('Sales')
plt.xticks(rotation='vertical')
plt.show()
x = df_sorted2['Company'][0:5]
y = df_sorted2['Stores'][0:5]
plt.bar(x,y)
plt.title('Top 5 compañías con más tiendas')
plt.xlabel('Company')
plt.ylabel('Stores')
plt.xticks(rotation='vertical')
plt.show()
x = df_sorted1['Category'][0:5]
y = df_sorted1['Sales'][0:5]
plt.bar(x,y)
plt.title('Top 5 categorías con más ventas')
plt.xlabel('Category')
plt.ylabel('Sales')
plt.xticks(rotation='vertical')
plt.show()
df_sorted1.groupby('Category').sum()
df_sorted1['Sales/Avg. Store_2'] = df_sorted1['Sales'] / df_sorted1['Stores']
df_sorted_by_sales_stores = df_sorted1.sort_values('Sales/Avg. Store_2',ascending=0)
df_sorted_by_sales_stores
df_online = df_sorted1[df_sorted1['Stores'].isna()]
df_online
df_grocery = df_sorted1[(df['Category']=='Grocery')]
df_grocery.head()
df_drugstores = df_sorted2[(df['Category']=='Drug Stores')]
df_drugstores.head()
df_sorted1.tail()