Você já pensou em criar um painel interativo capaz de analisar preços de combustíveis no Brasil e ainda fazer previsões para os próximos anos?
Neste tutorial, vamos construir juntos uma aplicação em Python + Streamlit que faz exatamente isso — analisando dados da ANP (Agência Nacional do Petróleo) e mostrando insights visuais e predições inteligentes.
🧠 O que você vai aprender
- Ler e visualizar dados de preços de combustíveis com Pandas e Matplotlib
- Criar gráficos interativos com Streamlit
- Calcular variações percentuais, correlações e volatilidade de preços
- Fazer previsões simples usando Regressão Linear (scikit-learn)
📊 Exemplo da Base de Dados
Aqui está um pequeno trecho do dataset utilizado (arquivo CSV):
MÊS,PRODUTO,NÚMERO DE POSTOS PESQUISADOS,UNIDADE DE MEDIDA,PREÇO MÉDIO REVENDA,DESVIO PADRÃO REVENDA,PREÇO MÍNIMO REVENDA,PREÇO MÁXIMO REVENDA,MARGEM MÉDIA REVENDA,COEF DE VARIAÇÃO REVENDA,PREÇO MÉDIO DISTRIBUIÇÃO,DESVIO PADRÃO DISTRIBUIÇÃO,PREÇO MÍNIMO DISTRIBUIÇÃO,PREÇO MÁXIMO DISTRIBUIÇÃO,COEF DE VARIAÇÃO DISTRIBUIÇÃO
jan/13,ETANOL HIDRATADO,39584,R$/l,"1,956","0,244","1,479","3,120","0,266","0,125","1,690","0,222","1,220","2,475","0,131"
jan/13,GASOLINA COMUM,41990,R$/l,"2,763","0,148","2,229","3,899","0,386","0,054","2,377","0,109","2,080","2,895","0,046"
🧩 Passo 1 — Instalar as dependências
No terminal, crie um ambiente e instale as bibliotecas necessárias:
pip install streamlit pandas numpy matplotlib scikit-learn
🧩 Passo 2 — Criar o arquivo Combustivel.py
Crie um arquivo chamado Combustivel.py e copie o código abaixo:
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
def mostrar():
# Carregar os dados
def load_data():
return pd.read_csv('./data/precos_combustiveis.csv')
data = load_data()
st.title('Análise e Predição de Preços dos Combustíveis no Brasil')
# Menu lateral
st.sidebar.header('Filtros')
ano_selecionado = st.sidebar.slider('Selecione o ano', min_value=2014, max_value=2024, value=2024)
combustivel_selecionado = st.sidebar.selectbox('Selecione o combustível', data.columns[1:])
# Exibir DataFrame
st.subheader('Dados de Preços de Combustíveis')
st.dataframe(data)
# Gráfico: Evolução dos preços
st.subheader(f'Evolução do Preço de {combustivel_selecionado}')
fig, ax = plt.subplots()
ax.plot(data['Ano'], data[combustivel_selecionado], marker='o')
ax.set_xlabel('Ano')
ax.set_ylabel('Preço (R$)')
st.pyplot(fig)
# Previsão de preços com regressão linear
def predict_price(combustivel, ano):
X = data['Ano'].values.reshape(-1, 1)
y = data[combustivel].values
model = LinearRegression()
model.fit(X, y)
return model.predict([[ano]])[0]
ano_previsao = st.slider('Selecione o ano para previsão', min_value=2025, max_value=2030, value=2025)
combustivel_previsao = st.selectbox('Selecione o combustível para previsão', data.columns[1:])
preco_previsto = predict_price(combustivel_previsao, ano_previsao)
st.write(f"**Preço previsto de {combustivel_previsao} em {ano_previsao}: R$ {preco_previsto:.2f}**")
🧩 Passo 3 — Executar o projeto
No terminal, rode o comando:
streamlit run Combustivel.py
Pronto! 🎉
Acesse o endereço mostrado no terminal (geralmente http://localhost:8501 e explore seu dashboard interativo.
💡 O que esse app faz
✅ Mostra a evolução dos preços de cada combustível ao longo dos anos
✅ Compara gasolina e etanol, destacando qual é mais vantajoso
✅ Exibe variação percentual e volatilidade de preços
✅ Gera previsões de preços futuros usando Regressão Linear
📈 Insights que o app entrega
- A gasolina e o etanol tendem a acompanhar o mesmo padrão de variação.
- O etanol costuma ser mais competitivo quando seu preço está abaixo de 70% do valor da gasolina.
- A volatilidade mostra quais combustíveis são mais instáveis em termos de preço.
- A previsão linear dá uma boa ideia da tendência — mas lembre-se: ela não considera fatores externos (como política ou economia).
🔍 Conclusão
Com poucas linhas de código, você criou um Dashboard completo de análise e previsão de preços de combustíveis no Brasil!
Esse tipo de projeto é perfeito para:
- Portfólios de análise de dados
- Apresentações acadêmicas
- Ou até para mostrar sua habilidade com Python e Machine Learning aplicado a dados reais
🚀 Próximos Passos
👉 Adicione novas fontes de dados (como preço do dólar ou barril de petróleo).
👉 Teste outros modelos de previsão (como ARIMA ou Prophet).
👉 Publique seu dashboard online com o comando:
streamlit share Combustivel.py

