Autor: Wallyson Souza Data: 17 de Outubro de 2025
Este projeto consiste em um pipeline completo de análise de dados, desenvolvido como parte de um desafio técnico. O objetivo é extrair dados de projetos de investimento do Distrito Federal da API ObrasGov.br, realizar um processo de tratamento e limpeza (Transformação), carregar os dados em um banco de dados relacional (Carga) e, por fim, realizar uma análise quantitativa e qualitativa para extrair insights.
O notebook obrasgov_analise.ipynb contém todo o processo documentado, desde a extração até as conclusões finais.
O projeto foi estruturado seguindo um fluxo de trabalho padrão de análise de dados:
-
Extração de Dados: Conexão com a API do ObrasGov.br para extrair todos os registros de projetos de investimento para o Distrito Federal (DF). O código inclui uma lógica para salvar os dados brutos localmente, evitando chamadas excessivas à API.
-
Tratamento e Limpeza (Transformação):
- Seleção das colunas mais relevantes para a análise.
- Padronização dos nomes das colunas para o formato
snake_case. - Correção dos tipos de dados (strings para
datetimeenumeric). - Tratamento de dados complexos, como listas e dicionários aninhados em formato de texto, que foram simplificados.
- Criação de uma nova coluna (
categoria_social) através da categorização de textos longos para viabilizar a análise. - Tratamento de valores ausentes.
-
Armazenamento (Carga): Os dados limpos e tratados foram carregados em um banco de dados SQLite, contido no arquivo
dados/obras_gov_df.db. -
Análise e Visualização: Foram gerados gráficos para responder a perguntas-chave, como:
- Qual a distribuição dos projetos por situação?
- Onde os investimentos estão sendo focados (por categoria social)?
- Como o número de novos projetos evoluiu ao longo dos anos?
-
Análise Qualitativa e Conclusão: Interpretação dos gráficos para identificar padrões, formular hipóteses e apresentar os principais insights do projeto.
- Linguagem: Python 3
- Bibliotecas Principais:
pandaspara manipulação e análise de dados.requestspara consumo da API.matplotlibeseabornpara visualização de dados.sqlite3para interação com o banco de dados.
- Ambiente: Jupyter Notebook
Siga os passos abaixo para configurar e executar o projeto localmente.
- Git
- Python 3.8 ou superior
-
Clone o repositório:
git clone git@github.com:devwallyson/desafio_ObrasGov.git
-
Navegue até a pasta do projeto:
cd desafio_obrasGov -
Crie e ative um ambiente virtual:
- No Windows:
python -m venv venv .\venv\Scripts\activate
- No macOS / Linux:
python3 -m venv venv source venv/bin/activate
- No Windows:
-
Instale as dependências:
pip install -r requirements.txt
-
Inicie o Jupyter Notebook:
jupyter notebook
-
Abra o arquivo
obrasgov_analise.ipynbe execute as células. Recomenda-se usar a opção "Restart & Run All" para garantir a execução na ordem correta.