Comisión 22039
Edgar Barradas
# RESOLUCIÓN ANALÍTICA
my_df2=my_df.groupby('article_name').sum()
por_cant = my_df2.sort_values('quantity', ascending=False)
print(por_cant['quantity'].head(5))
article_name
HDD 413
Tablet 374
SDD 372
Mouse 322
Netbook 320
Name: quantity, dtype: int64
# RESOLUCIÓN GRÁFICA
resaltar=['grey' if (x < max(por_cant['quantity'])) else 'blue' for x in por_cant['quantity'] ]
plt.bar(por_cant.index,por_cant['quantity'],color=resaltar)
plt.xticks(rotation=90)
plt.title("Cantidades vendidas de cada artículo")
plt.show()
# RESOLUCIÓN ANALÍTICA
df2 = (my_df.groupby(by='article_name').sum()).sort_values('total_amount',ascending=False).head(8)
print(df2['total_amount'])
article_name
Full Pc 538335.93
Notebook 251000.00
Smartphone 152250.00
Chair 69477.48
Tablet 48620.00
Monitor 47840.00
Netbook 46400.00
Scanner 40885.00
Name: total_amount, dtype: float64
# RESOLUCIÓN GRÁFICA ---> OJO: Voy a tomar sólo los 5 primeros artículos que más ingresos proporcionaron
# No puedo hacer una comparativa ni porcentajes porque no tomé el total de los datos
#plt.pie(x=df2['total_amount'], labels=df2.index)
#plt.show()
resaltar=['grey' if (x < max(df2['total_amount'])) else 'blue' for x in df2['total_amount'] ]
plt.bar(df2.index,df2['total_amount'],color=resaltar)
plt.title("Ingresos generados por artículo")
plt.xlabel("Artículos")
plt.ylabel("Ingresos en $")
plt.xticks(rotation=90)
plt.show()
# RESOLUCIÓN GRÁFICA
df4b = (my_df.groupby(by='seller_name').sum())
resaltar=['grey' if (x < max(df4b['total_amount'])) else 'orange' for x in df4b['total_amount'] ]
plt.bar(df4b.index,df4b['total_amount'],color=resaltar)
plt.title("Ventas por vendedor")
plt.xlabel("Vendedor")
plt.ylabel("Ventas en $")
plt.xticks(rotation=90)
plt.show()
print("Se le debe entregar el bono de mejor vendedor del mes a Janel O'Curran")
Se le debe entregar el bono de mejor vendedor del mes a Janel O'Curran
# RESOLUCIÓN ANALÍTICA
df5 = (my_df.groupby(by='week').sum())
print(df5)
print("Las ventas fueron disminuyendo cada semana")
print("La última semana tuvo menos de la mitad monto de ventas que 1ra")
print("Se debería hacer promociones que mejoren las ventas de las últimas semanas")
quantity total_amount
week
1 2449 507458.81
2 2444 415364.44
3 2114 329140.03
4 1058 223844.56
Las ventas fueron disminuyendo cada semana
La última semana tuvo menos de la mitad monto de ventas que 1ra
Se debería hacer promociones que mejoren las ventas de las últimas semanas
# RESOLUCIÓN GRÁFICA
df5.index = df5.index.map(str)
plt.bar(df5.index,df5['total_amount'])
plt.title("Monto total de de ventas por semana")
plt.xlabel("Semana")
plt.ylabel("Ventas en $")
plt.show
print("Las ventas fueron disminuyendo cada semana")
print("La última semana tuvo menos de la mitad monto de ventas que 1ra")
print("Se debería hacer promociones que mejoren las ventas de las últimas semanas")
Las ventas fueron disminuyendo cada semana
La última semana tuvo menos de la mitad monto de ventas que 1ra
Se debería hacer promociones que mejoren las ventas de las últimas semanas
# RESOLUCIÓN
print((my_df.groupby(by='country_name').sum()).sort_values('total_amount',ascending=False).head(3))
print('Brasil es el país que más ha comprado')
df6 = (my_df.groupby(by='country_name').sum())
resaltar=['grey' if (x < max(df6['total_amount'])) else 'green' for x in df6['total_amount'] ]
plt.bar(df6.index,df6['total_amount'],color=resaltar)
plt.title("Monto total de ventas registradas por país")
plt.xlabel("País")
plt.ylabel("Ventas en $")
plt.xticks(rotation=90)
plt.show
week quantity total_amount
country_name
Brazil 717 2515 441271.85
Argentina 241 947 205832.78
Colombia 230 881 177514.29
# RESOLUCIÓN
df7=pd.pivot_table(my_df,values='quantity',index=['country_name','article_name'],aggfunc= 'sum')
x=sns.relplot(data=df7,x="country_name",y="article_name",hue='quantity',palette='YlOrRd')
x.set_xticklabels(rotation=90)
plt.gcf().set_size_inches(6, 6)
# RESOLUCIÓN
df8=my_df.groupby('week').count()
etiqueta=[]
for i in df8.index:
etiqueta.append('Semana '+str(i))
print(df8)
plt.pie(df8.seller_name,labels=df8.seller_name,counterclock=False,startangle=90)
plt.title('Cantidad de ordenes por semana')
plt.legend(etiqueta,loc='right',bbox_to_anchor=(1.4, 0.3))
quantity country_name article_name total_amount seller_name
week
1 298 298 298 298 298
2 310 310 310 310 310
3 262 262 262 262 262
4 130 130 130 130 130