Bom dia
Estou a 2 dias com problemas de acesso na URL indicada pelo curso 'https://labdados.com/produtos'
Acessando pelo navegador apresenta o erro 502
Abaixo o código que estou tentando executar, porém não encontro nenhum outro tipo de erro
Importando as Bibliotecas
import streamlit as st
import requests
import pandas as pd
import plotly.express as px
def formata_numero(valor, prefixo = ''):
for unidade in ['', 'mil']:
if valor <1000:
return f'{prefixo} {valor:.2f} {unidade}'
valor /= 1000
return f'{prefixo} {valor:.2f} milhões'
Identificando um título
st.title('DASHBOARD DE VENDAS :shopping_trolley:')
Importando o API
url = 'https://labdados.com/produtos'
response = requests.get(url)
Transformando daods em Jason e Dataframe
dados = pd.DataFrame.from_dict(response.json())
Formatar a coluna de data
dados ['Data da Compra'] = pd.to_datetime(dados['Data da Compra'], format = '%d/%m/%Y')
##Tabelas
#Grafico de Mapa
receita_estados = dados.groupby('Local da Compra')[['Preço']].sum()
receita_estados = dados.drop_duplicates(subset= 'Local da Compra'[['Local da Compra','lat','lon']]).merge(receita_estados, left_on= 'Local da Compra', right_index=True).sort_values('Preço',ascending=False)
#Grafico de Linha
receita_mensal = dados.set_index('Data da Compra').groupby(pd.Grouper(freq='M'))['Preço'].sum().reset_index()
receita_mensal['Ano'] = receita_mensal['Data da Compra'].dt.year
receita_mensal['Mes'] = receita_mensal['Data da Compra'].dt.month_name()
#Grafico de Coluna
receita_categorias = dados.groupby('Categoria do Produto')[['Preço']].sum().sort_values('Preço',ascending=False)
##Gráficos
fig_mapa_receitas = px.scatter_geo(receita_estados,
lat='lat',
lon='lon',
scope='south america',
size = 'Preço',
template='seaborn',
hover_name='Local da Compra',
hover_data={'lat':False, 'lon':False},
title='Receita por Estado')
fig_receita_mensal = px.line(receita_mensal,
x='Mes',
y='Preço',
markers=True,
range_y=(0, receita_mensal.max()),
color='Ano',
line_dash='Ano',
title='Receita Mensal')
fig_receita_mensal.update_layout(yaxis_title = 'Receita')
fig_receita_estados = px.bar(receita_estados.head(),
x = 'Local da compra',
y = 'Preço',
text_auto=True,
title='Top Estados (receita)')
fig_receita_estados.update_layout(yaxis_title = 'Receita')
fig_receita_categorias = px.bar(receita_categorias,
text_auto=True,
title= 'Receita por Categoria')
fig_receita_categorias.update_layout(yaxis_title = 'Receita')
##Criando Abas
aba1, aba2, aba3 = st.tabs(['Receita', 'Quantidade de Vendas', 'Vendedores'])
with aba1:
## Visualização no streamlit
# Formatando as Colunas
coluna1, coluna2 = st.columns(2)
with coluna1:
# Incluindo as Métricas no Aplicativo
st.metric('Receita', formata_numero(dados['Preço'].sum(), 'R$'))
st.plotly_chart(fig_mapa_receitas, use_container_width= True)
st.plotly_chart(fig_receita_estados, use_container_width= True)
with coluna2:
st.metric('Quantidade de vendas', formata_numero(dados.shape[0]))
st.plotly_chart(fig_receita_mensal, use_container_width= True)
st.plotly_chart(fig_receita_categorias, use_container_width= True)
with aba2:
## Visualização no streamlit
# Formatando as Colunas
coluna1, coluna2 = st.columns(2)
with coluna1:
# Incluindo as Métricas no Aplicativo
st.metric('Receita', formata_numero(dados['Preço'].sum(), 'R$'))
with coluna2:
st.metric('Quantidade de vendas', formata_numero(dados.shape[0]))
with aba3:
## Visualização no streamlit
# Formatando as Colunas
coluna1, coluna2 = st.columns(2)
with coluna1:
# Incluindo as Métricas no Aplicativo
st.metric('Receita', formata_numero(dados['Preço'].sum(), 'R$'))
with coluna2:
st.metric('Quantidade de vendas', formata_numero(dados.shape[0]))
st.plotly_chart(fig_receita_mensal, use_container_width= True)
st.plotly_chart(fig_receita_categorias, use_container_width= True)
DataFrame
##st.dataframe(dados)