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
- 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)
- 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
- Aplique um filtro que selecione apenas os alunos que foram aprovados.
filtro1 = dados['Aprovado']==True
dados[filtro1]
- 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)