Este es el código que hice para mostrar los 5 estados con mayor costo de envio:
average_prices = df.groupby('estado_cliente')['precio_envio'].mean().reset_index()
top_states = average_prices.nlargest(5, 'precio_envio')['estado_cliente']
df_top_states = df[df['estado_cliente'].isin(top_states)]
# Creando gráfico de barras
plt.figure(figsize=(12, 6))
sns.barplot(x='estado_cliente', y='precio_envio', data=df_top_states, order=top_states)
plt.title("Top 5 Estados con mayor coste de envio", fontsize=20)
plt.xlabel("Estados", fontsize=17)
plt.ylabel("Precio envio", fontsize=17)
plt.show()
Por favor me indican cualquier error en el codigo