1
resposta

Desafios Resolvidos

Para praticar os métodos aprendidos no decorrer dessa aula e também aprender novos, vamos realizar alguns tratamentos e seleções utilizando um arquivo csv diferente: alunos.csv.
Esse arquivo é o mesmo utilizado para resolução dos desafios da aula 1 e possui dados referentes a alunos de um curso superior.
Com base nisso, solucione os problemas propostos abaixo utilizando os conhecimentos adquiridos até aqui.

# Importando novamente os dados
import pandas as pd
url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/desafios/alunos.csv'
dados = pd.read_csv(url)
dados
  1. Verifique se a base de dados possui dados nulos e, caso tenha, realize o tratamento desses dados nulos da forma que achar mais coerente com a situação.
dados.isnull()
dados.isnull().sum()
dados.fillna(0, inplace=True)
  1. Os alunos "Alice" e "Carlos", não fazem mais parte da turma. Sendo assim, remova-os da base de dados.
alunos_remover = dados.query('Nome == "Alice" | Nome == "Carlos"').index
dados.drop(alunos_remover, axis=0, inplace=True)
dados
  1. Aplique um filtro que selecione apenas os alunos que foram aprovados.
filtro1 = dados['Aprovado']==True
dados[filtro1]
  1. Salve o DataFrame que possui apenas os alunos aprovados em um arquivo csv chamado "alunos_aprovados.csv".
alunos_aprovados = dados[filtro1]
alunos_aprovados.to_csv('Alunos_aprovados.csv', index=False)
pd.read_csv('Alunos_aprovados.csv')

Extra: Ao conferir as notas dos alunos aprovados, notamos que algumas notas estavam incorretas. As alunas que tiraram nota 7.0, na verdade, tinham um ponto extra que não foi contabilizado. Sendo assim, substitua as notas 7.0 da base de dados por 8.0. Dica: pesquise pelo método replace.

alunos_aprovados.replace(7.0,8.0, inplace=True)

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Valentina! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de tratamento de dados nulos para garantir a integridade da base, utilizou muito bem os filtros para segmentar os alunos aprovados e ainda compreendeu a importância da exportação dos dados para facilitar o compartilhamento e análise externa.

Uma dica interessante para o futuro é aplicar o método replace diretamente na coluna desejada, evitando o uso do parâmetro inplace, que pode gerar avisos. Assim:

alunos_aprovados['Nota'] = alunos_aprovados['Nota'].replace(7.0, 8.0)

Isso faz com que a substituição ocorra de forma mais segura e explícita.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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