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

Resolução - 'Desafio: bora praticar?' - Aula 03

Boa tarde!

import pandas as pd
url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/desafios/alunos.csv'
data = pd.read_csv(url)

print("Verificação de valores nulos:\n")
print(f"{data.isnull().sum()}\n")
print(data[data['Notas'].isna()])

print("\nTratamento dos valores nulos: substituição por zero.\n")
data['Notas'] = data['Notas'].fillna(0)

#removendo Alice e Carlos da base de dados
data.drop(data[data['Nome'] == 'Alice'].index, inplace=True)
data.drop(data[data['Nome'] == 'Carlos'].index, inplace=True)

print("Verificação de valores nulos e remoção de Alice e Carlos:")
print(f"{data.isnull().sum()}\n")
data.query('Nome == "Carlos" or Nome == "Alice"')

selec = data['Aprovado'] == True
print(f"\nAlunos aprovados: {data[selec]}")

print("\nSubstituindo notas 7.0 por 8.0:")
data['Notas'] = data['Notas'].replace(7.0, 8.0)
print(f"\nAtualização dos alunos aprovados:")
print(data[selec])

data[selec].to_csv('alunos_aprovados.csv', index=False)

Saídas:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá! Como vai?

Agradeço por compartilhar sua resolução com a comunidade. É muito enriquecedor ver o raciocínio aplicado em cada etapa do desafio, e você se saiu bem no geral.

Analisando o seu código, é possível perceber que você seguiu um fluxo coerente: utilizou o isnull().sum() para a verificação de valores nulos, identificou corretamente as linhas com notas ausentes na coluna Notas, aplicou o fillna(0) para o tratamento dos dados, realizou o drop dos registros de Alice e Carlos pelo index, filtrou os alunos aprovados com a variável selec usando True na coluna Aprovado, substituiu as notas 7.0 por 8.0 com o método replace() e, por fim, exportou o resultado para o arquivo alunos_aprovados.csv com o método to_csv(). Cada um desses passos é fundamental no trabalho com a biblioteca Pandas.

Limpeza, filtragem e exportação de dados são habilidades essenciais para quem trabalha com análise de dados, e você está construindo uma base muito sólida. Continue praticando e conte sempre com o apoio do Fórum na sua jornada de aprendizado.

Como você acha que o tratamento dos valores nulos pode influenciar a análise final dos dados em um projeto real com Pandas?

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