Atividade Do 1ano - 10 Atividades para Alfabetizar alunos do 1º ano - Tudo Português
10 Atividades para Alfabetizar alunos do 1º ano - Tudo Português

Como fazer atividade do 1º ano de ciência de dados com Python

O tipo de trabalho mais comum no primeiro ano de cursos que lidam com dados é o que pede para você ler um dataset bruto, limpá-lo, calcular métricas simples e gerar visualizações básicas. A ferramenta quase sempre é Python com pandas e matplotlib. O resultado final geralmente é um arquivo .py ou .ipynb com um relatório de duas páginas. Comece pelo diagnóstico do arquivo. Antes de importar qualquer biblioteca, abra o CSV no terminal ou num editor de texto simples. Verifique o encoding e o separador. No meu caso, recebi um arquivo com vírgulas como separador decimal mas também como delimitador de campos, e tentei rodar um pd.read_csv() padrão que quebrou as colunas numéricas. A solução foi passar sep=';' e decimal=',', e usar engine='python' porque o parser rápido do C não aceitava a combinação. Isso economizou uns 40 minutos que eu ia perder tentando debugar colunas cheias de NaN.

Atividade do 1º ano: checklist prático

O que segue é a ordem que realmente funciona, não a que os professores esperam que você descubra sozinho. O primeiro passo é mapear o que cada coluna representa e quais valores fazem sentido para o cálculo que você vai fazer. Pegue o dataset, liste as colunas, e anote quais têm missing values, strings que parecem datas, e outliers óbvios. Depois, configure o ambiente. Use um venv. Instale pandas, matplotlib, numpy, e se tiver que trabalhar com datas, datetime do próprio Python ou dateutil. Evite instalar tudo no site-packages, porque quando a versão do pandas colide com alguma outra coisa no computador, você gasta mais tempo resolvendo import errors do que lendo dados.

A leitura vem então. Se for CSV, use pd.read_csv() com os parâmetros corretos de encoding e delimiter. Se for Excel, prefira openpyxl. Confirme quantas linhas foram lidas com len(df). Se o número não bater com o esperado, verifique se há linhas de cabeçalho extras ou notas de rodapé que o pandas tentou interpretar como dados. O tratamento de dados é onde a maioria dos alunos trava no primeiro ano. Filtre linhas com pd.dropna() apenas nas colunas que vão ser usadas nos cálculos. Não apague o dataframe inteiro só porque uma coluna secundária tem valor nulo. Converta tipos com pd.to_numeric() e pd.to_datetime(). Se tiver strings suspeitas em colunas numéricas, use errors='coerce' para transformá-las em NaN e tratar depois, em vez de deixar o código falhar com ValueError.

Os cálculos seguem a lógica da pergunta da atividade. Média, soma, contagem, agrupamento por categoria. O importante é não acumular variáveis intermediárias desnecessárias. Um df.groupby('categoria')['valor'].mean() resolve em uma linha o que alguns estudantes fazem em três loops for que pegam o dia todo. Visualização entra só depois de o dataframe estar limpo e as colunas corretas. plt.subplots(figsize=(8,5)) para o gráfico principal. Use label nos eixos, título descritivo, e se o gráfico for comparativo, plt.tight_layout() para evitar sobreposição. Salve com plt.savefig('grafico.png', dpi=300) antes de fechar a figura, senão o arquivo sai vazio ou com resolução ruim.

👉 Clique no botão abaixo para saber mais sobre o assunto!

O relatório final costuma pedir interpretação, não só código. Escreva três parágrafos curtos: um descrevendo o dataset, outro explicando as decisões de tratamento, e um terceiro comentando os resultados. Cite os números exatos que apareceram nos gráficos. Evite frases como "os dados mostram uma tendência interessante". Diga exatamente o que aumentou, em quanto, e em qual período. Um detalhe que ninguém explica bem na primeira matéria é a diferença entre handle_int_overflow e theila no pandas para leitura de arquivos grandes. Se o CSV tiver mais de 500 MB, o pandas carrega tudo na memória e pode travar a máquina. Nesses casos, leia com chunksize e processe em lotes, ou use Polars como alternativa mais rápida. Eu já vi colega usar pd.read_csv() num arquivo de 1,2 GB e o notebook derrubar o kernel duas vezes antes de ele descobrir o chunking.

Outro erro recorrente é confundir median e mean quando a distribuição é muito assimétrica. Para renda ou valores com cauda longa, a média distorce o resultado. A mediana dá uma visão mais fiel. No primeiro ano ainda cobram média, mas saber quando usar uma ou outra mostra maturidade analítica e diferencia seu trabalho de meia dúzia de entregáveis iguais. Se a atividade pede integração com banco de dados, use sqlalchemy ao invés de executar querys crus com string concatenation. F-strings em SQL são a porta de entrada para erros de sintaxe e insegurança. SQLAlchemy parameterizada resolve em cinco minutos o que levaria uma hora de debugging.

Para quem quer praticar além do mínimo exigido, odataset do IBGE sobre cadastro municipal ou o repositório do Kaggle com dados do SUS são bons pontos de partida. São bem documentados, têm colunas estáveis, e a limpeza necessária é realista sem ser impossivelmente complicada para um trabalho de primeira fase. O código final deve ter pelo menos dois arquivos: o main.py com a lógica principal e um requirements.txt com as dependências. Se entregar só o .ipynb, corre o risco de o professor não conseguir rodar e perder pontos por isso. Notebooks são práticos para desenvolvimento, mas o formato portátil para entrega é o script puro.

Onde encontrar materiais de apoio

A documentação oficial do pandas em português tem seção de introdução atualizada. O guia do matplotlib para iniciantes cobre quase todos os casos comuns. Para datasets prontos, o repositório da Abliq e o portal de dados abertos do governo federal oferecem CSVs reais que servem para treinar sem precisar montar artificiais. A W3Schools também tem tutoriais curtos que funcionam como consulta rápida, embora não substituam a leitura da documentação oficial quando o problema sai do básico. Resumindo o que importa: confirme o encoding antes de importar, trate NaN por coluna e não por inteiro, escolha mean ou median conforme a distribuição, use chunking para arquivos grandes, e entregue em Python puro com requirements.txt. O resto é ajuste de detalhes que variam de professor para professor.