# 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.
# Verificando a quantidade de dados nulos por coluna
print("Dados nulos antes do tratamento:")
print(df.isnull().sum())
# Tratamento: Preenchendo as notas nulas com 0.0
df['Notas'] = df['Notas'].fillna(0.0)
print("\nBase de dados após o tratamento de nulos:")
print(df)
# 2) Os alunos "Alice" e "Carlos", não fazem mais parte da turma. Sendo assim, remova-os da base de dados.
# Filtrando o DataFrame para manter apenas as linhas onde o Nome não seja 'Alice' nem 'Carlos'
df = df[~df['Nome'].isin(['Alice', 'Carlos'])]
print("Base de dados após a remoção de Alice e Carlos:")
print(df)
# 3) Aplique um filtro que selecione apenas os alunos que foram aprovados.
# Criando um novo DataFrame contendo apenas as linhas onde 'Aprovado' é True
df_aprovados = df[df['Aprovado'] == True]
print("Alunos aprovados:")
print(df_aprovados)
# 4) Salve o DataFrame que possui apenas os alunos aprovados em um arquivo csv chamado "alunos_aprovados.csv".
# Salvando o DataFrame de aprovados em formato CSV (index=False evita que uma coluna de índices seja criada)
df_aprovados.to_csv('alunos_aprovados.csv', index=False)
print("Arquivo 'alunos_aprovados.csv' salvo com sucesso!")
# 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.
# Utilizando o método replace para corrigir as notas 7.0 para 8.0 na coluna 'Notas'
df_aprovados['Notas'] = df_aprovados['Notas'].replace(7.0, 8.0)
print("DataFrame de aprovados com as notas corrigidas:")
print(df_aprovados)