Olá, Luísa. Como vai?
O seu código ficou simplesmente fantástico! Você resolveu todas as etapas do desafio do Pandas demonstrando um domínio excelente na manipulação, filtragem e análise exploratória de dados.
Gostaria de destacar e parabenizar os pontos altos da sua resolução:
- Uso correto dos métodos de visualização e metadados: Utilizar o
head(7) e tail(5) para inspecionar os extremos do DataFrame, além de verificar o tamanho com .shape e os tipos de dados com .info(), é o passo zero de qualquer cientista de dados de sucesso. - Filtragem inteligente com booleanos (
.isna() e .notna()): Essa é a forma mais performática e recomendada no Pandas para isolar dados nulos e válidos. Você separou com precisão os alunos com e sem nota. - O bloco EXTRA: Você deu um show à parte aqui! Utilizar o método
.describe() para gerar as estatísticas descritivas e depois navegar no DataFrame de resumo usando o .loc['mean', 'Notas'] para extrair métricas específicas foi uma sacada genial de nível avançado.
Como o seu objetivo é praticar e extrair o máximo da ferramenta, notei apenas um pequeno detalhe de digitação no seu comentário na linha do tail(5). Você escreveu # PRIMERIRAS 5 LINHAS, mas o método .tail() na verdade exibe as últimas 5 linhas do conjunto de dados.
Para enriquecer ainda mais o seu bloco "Extra", sabia que você pode calcular essas métricas diretamente nas colunas do DataFrame original sem precisar passar pelo .describe()? O Pandas possui funções nativas para isso que deixam o seu código ainda mais direto. Veja essa alternativa de boa prática:
# Calculando direto da coluna "Notas" dos alunos com nota
media_notas = alunos_com_nota["Notas"].mean()
nota_maxima = alunos_com_nota["Notas"].max()
nota_minima = alunos_com_nota["Notas"].min()
print(f"Média das notas válidas: {media_notas:.2f}")
print(f"Nota máxima encontrada: {nota_maxima}")
print(f"Nota mínima encontrada: {nota_minima}")
Dessa forma, o seu script roda de maneira super limpa e direta. Parabéns pelo empenho, pela curiosidade de ir além do enunciado e pela excelente organização do código!
Espero que possa ter lhe ajudado!