Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Desafio

import pandas as pd

Criando o DataFrame

dados = {
'Nome': ['Ary', 'Ana', 'Cátia', 'Denis', 'Beto', 'Bruna', 'Dara',
'Carlos', 'Alice', 'Vitor', 'Daniel', 'Igor', 'Sthefanie',
'Mirla', 'Paulo', 'Mylena', 'Lucas', 'Nadia'],
'Idade': [20, 18, 27, 18, 21, 23, 21, 19, 35, 28, 21, 24, 26, 25, 37, 29, 33, 34],
'Notas': [7.5, None, 2.5, 5.0, 10.0, None, 7.0, 6.0, 5.6, None, None, 4.5, 9.5, 9.0, None, 7.0, None, 8.0],
'Aprovado': [True, False, False, False, True, False, True, True, False,
False, False, False, True, True, False, True, False, True]
}

df = pd.DataFrame(dados)

1) Verificando dados nulos

print("Quantidade de valores nulos:")
print(df.isnull().sum())

Tratamento dos valores nulos

Substituindo as notas nulas pela média das notas existentes

media_notas = df['Notas'].mean()
df['Notas'] = df['Notas'].fillna(media_notas)

2) Removendo Alice e Carlos

df = df[~df['Nome'].isin(['Alice', 'Carlos'])]

3) Filtrando apenas os alunos aprovados

alunos_aprovados = df[df['Aprovado'] == True]

print("\nAlunos aprovados:")
print(alunos_aprovados)

4) Salvando em arquivo CSV

alunos_aprovados.to_csv('alunos_aprovados.csv', index=False)

print("\nArquivo 'alunos_aprovados.csv' salvo com sucesso!")

1 resposta

Olá, Micael! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Fico feliz pela sua resolução do desafio, separando cada etapa de maneira organizada e fácil de acompanhar. Você fez verificação de valores nulos, aplicou o tratamento utilizando a média das notas, removeu os registros solicitados, filtrou os alunos aprovados e ainda exportou o resultado para um arquivo CSV. Essa sequência demonstra uma boa compreensão do fluxo de tratamento e análise de dados com Pandas. Além disso, utilizar variáveis com nomes claros torna o código mais legível e facilita futuras manutenções.

Uma dica interessante para o futuro é utilizar o metodo head() para conferir rapidamente as primeiras linhas do DataFrame durante a analise dos dados:


print(df.head())

Esse codigo exibe as primeiras linhas da tabela e ajuda a validar se as transformacoes realizadas produziram o resultado esperado antes de prosseguir para as proximas etapas. Esse tipo de verificacao simples pode economizar bastante tempo durante a analise.

Voce costuma revisar os dados apos cada transformacao ou apenas ao final do processo?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!