1-Construir um gráfico de mapa com a quantidade de vendas por estado.
qtd_vendas_estado = dados.groupby('Local da compra')[['Produto']].count()
qtd_vendas_estado = dados.drop_duplicates(subset = 'Local da compra')[['Local da compra', 'lat', 'lon']].merge(qtd_vendas_estado, left_on = 'Local da compra', right_index = True).sort_values('Produto', ascending = False)
fig_mapa_qtd_vendas = px.scatter_geo(qtd_vendas_estado,
lat = 'lat',
lon = 'lon',
scope = 'south america',
size = 'Produto',
template = 'seaborn',
hover_name = 'Local da compra',
hover_data = {'lat': False, 'lon': False},
title = 'Quantidade de vendas por estado')
2-Construir um gráfico de linhas com a quantidade de vendas mensal.
qtd_vendas_mensal = dados.set_index('Data da Compra').groupby(pd.Grouper(freq = 'ME'))['Produto'].count().reset_index()
qtd_vendas_mensal['Ano'] = qtd_vendas_mensal['Data da Compra'].dt.year
qtd_vendas_mensal['Mês'] = qtd_vendas_mensal['Data da Compra'].dt.month_name()
fig_qtd_vendas_mensal = px.line(qtd_vendas_mensal,
x = 'Mês',
y = 'Produto',
markers = True,
range_y = (0, qtd_vendas_mensal.max()),
color='Ano',
line_dash = 'Ano',
title = 'Quantidade de vendas por mês')
fig_qtd_vendas_mensal.update_layout(yaxis_title = 'Quantidade vendida')
3-Construir um gráfico de barras com os 5 estados com maior quantidade de vendas.
top_5_estados = dados.groupby('Local da compra')[['Produto']].count().sort_values('Produto', ascending = False)
fig_top_5_vendas = px.bar(top_5_estados.head(),
text_auto = True,
title = 'Estados com maiores vendas')
fig_top_5_vendas.update_layout(showlegend = False, yaxis_title = 'Quantidade vendida')
4-Construir um gráfico de barras com a quantidade de vendas por categoria de produto.
qtd_categoria = dados.groupby('Categoria do Produto')[['Produto']].count().sort_values('Produto', ascending = False)
fig_qtd_categoria = px.bar(qtd_categoria,
text_auto = True,
title = 'Quantidade de vendas por categoria')
fig_qtd_categoria.update_layout(showlegend = False, yaxis_title = 'Quantidade vendida')
with aba2:
coluna1, coluna2 = st.columns(2)
with coluna1:
st.metric('Receita', formata_numero(dados['Preço'].sum(), 'R$'))
st.plotly_chart(fig_mapa_qtd_vendas, use_container_width = True)
st.plotly_chart(fig_top_5_vendas, use_container_width = True)
with coluna2:
st.metric('Quantidade de vendas', formata_numero(dados.shape[0]))
st.plotly_chart(fig_qtd_vendas_mensal, use_container_width = True)
st.plotly_chart(fig_qtd_categoria, use_container_width = True)