Bora resolver esses desafios?
Vale ressaltar que, em algumas situações, podemos utilizar diferentes métodos do Pandas para fazer a mesma coisa. Então, as soluções abaixo não são a única forma de resolver os desafios propostos.
- Podemos começar verificando a existência de dados nulos:
dados.isnull().sum()
E com o resultado, vamos notar que apenas a coluna "Notas" possui dados nulos. Nesse caso, podemos pensar que os alunos que estão sem nota muito provavelmente estavam com 0. Sendo assim, podemos substituir os valores nulos por 0:
dados = dados.fillna(0)
dadosCopiar código
2) Para removermos os alunos "Alice" e "Carlos" da nossa base de dados, precisamos pegar os índices das linhas onde os nomes deles estão localizados e utilizar o método drop para remover as respectivas linhas:
salvando os índices das linhas a serem removidas em uma variável
alunos_a_remover = dados.query('Nome == "Alice" | Nome == "Carlos"').index
removendo as linhas referentes aos alunos "Alice" e "Carlos"
dados.drop(alunos_a_remover, axis=0, inplace=True)Copiar código
3) Nesse caso, nosso primeiro passo é criar uma variável onde nós realizamos a seleção apenas dos alunos aprovados:
selecao = dados['Aprovado'] == True
Feito isso, podemos passar essa seleção para nosso DataFrame:
dados[selecao]
4) Para salvarmos o DataFrame apenas com os alunos aprovados, nós podemos começar salvando o DataFrame resultante do desafio 3 em uma variável:
alunos_aprovados = dados[selecao]
Em seguida, podemos utilizar o método to_csv para salvá-lo no formato csv:
alunos_aprovados.to_csv('alunos_aprovados.csv', index=False)
Extra: O método replace é utilizado para substituir um determinado valor por outro. No caso da nossa base de dados, nós queremos substituir os valores 7.0 por 8.0. Para isso, nós podemos utilizar o seguinte trecho de código:
alunos_aprovados.replace(7.0, 8.0)
E para salvarmos essa alteração de forma definitiva, podemos atribuí-la a nossa variável:
alunos_aprovados = alunos_aprovados.replace(7.0, 8.0)
alunos_aprovados