Um desafio interessante que achei é o “Python Pandas” oferecido no 7 Days of Code, criado pelo Francisco Foz.
Enunciado / Requisitos do desafio “Python Pandas” (resumido)
O desafio propõe trabalhar com dados de empréstimos de acervos da biblioteca da UFRN.
Alura
Os requisitos envolvem:
Importar / unificar datasets (dados de empréstimos + acervo).
Limpeza dos dados (tratamento de valores nulos, duplicações).
Análise exploratória: contagem de empréstimos, exemplar mais emprestado, distribuição temporal etc.
Trabalhar com datas (extrair dia, mês, ano) para comparar volumes ao longo do tempo.
Operações com arquivos JSON / Excel e uso de pivot tables.
Cálculos percentuais e exportação para HTML com formatação condicional.
Alura
Esse é um ótimo desafio se você já tem familiaridade com Python + pandas + análise de dados.
Se preferir algo mais “fácil” (nível introdutório) ou orientado a APIs / backend / frontend, posso sugerir outro desafio dentro do 7 Days of Code que combine mais com seu perfil (tecnologias / IA / APIs).
Você quer seguir com esse “Python Pandas” ou prefere outro desafio? Se escolher esse, seguimos com:
2️⃣ Orientações de como abordar o desafio
Aqui está uma estrutura de abordagem com dicas:
Entendimento e planejamento
Leia o enunciado completo e liste os subtarefas (importar dados, limpeza, análise, exportação, etc.).
Defina o fluxo de dados: quais arquivos existem, como serão combinados, quais variáveis serão úteis.
Importação e união dos dados
Use pandas.read_csv, read_excel, read_json conforme o formato dos dados.
Use merge, concat ou outras funções para unir os datasets.
Opte por inner, left ou outer dependendo do critério de combinação.
Limpeza de dados
Identifique valores nulos ou ausentes: df.isnull().sum().
Remova duplicatas: df.drop_duplicates().
Ajuste tipos de dados: converter colunas para datetime, int, str, etc.
Análise exploratória (EDA)
Use value_counts(), groupby(), describe(), histogramas e gráficos com Matplotlib / Seaborn.
Para datas: extrair dt.year, dt.month, dt.day e agrupar.
Operações avançadas
Pivot tables (df.pivot_table) para reorganizar os dados (ex: cursos por ano).
Calcular diferenças percentuais: (novo_valor - valor_antigo) / valor_antigo * 100.
Exportar para HTML com formatação condicional: pode usar df.to_html() e pós-processar (adicionar tags CSS ou estilos inline).
Validação e ajustes
Teste com subconjuntos menores de dados.
Verifique se os resultados fazem sentido. Ex: muito pouco número de empréstimos em determinados meses pode indicar erro.
Documente seu processo: anotações, comentários no código.
Entrega / apresentação
Organize o código em funções ou scripts claros.
Coloque instruções de uso (README).
Se possível, publique no GitHub ou Vitrine para que outros vejam.