Olá! Segue uma possível resolução do desafio utilizando Pandas.
Primeiro, importamos a biblioteca e lemos o arquivo CSV:
import pandas as pd
dados = pd.read_csv('alunos.csv')
- Verificando se existem dados nulos na base:
dados.isnull().sum()
Como a coluna de notas possui valores nulos, podemos substituir esses valores por 0:
dados = dados.fillna(0)
- Removendo os alunos Alice e Carlos da base de dados:
alunos_a_remover = dados.query('Nome == "Alice" | Nome == "Carlos"').index
dados.drop(alunos_a_remover, axis=0, inplace=True)
- Selecionando apenas os alunos aprovados:
selecao = dados['Aprovado'] == True
alunos_aprovados = dados[selecao]
- Salvando o DataFrame com os alunos aprovados em um arquivo CSV:
alunos_aprovados.to_csv('alunos_aprovados.csv', index=False)
Extra: substituindo as notas 7.0 por 8.0:
alunos_aprovados = alunos_aprovados.replace(7.0, 8.0)
Código completo:
import pandas as pd
dados = pd.read_csv('alunos.csv')
dados = dados.fillna(0)
alunos_a_remover = dados.query('Nome == "Alice" | Nome == "Carlos"').index
dados.drop(alunos_a_remover, axis=0, inplace=True)
selecao = dados['Aprovado'] == True
alunos_aprovados = dados[selecao]
alunos_aprovados = alunos_aprovados.replace(7.0, 8.0)
alunos_aprovados.to_csv('alunos_aprovados.csv', index=False)
alunos_aprovados