- Os alunos participaram de uma atividade extracurricular e ganharam pontos extras. Esses pontos extras correspondem a 40% da nota atual de cada um deles. Com base nisso, crie uma coluna chamada "Pontos_extras" que contenha os pontos extras de cada aluno, ou seja, 40% da nota atual deles.
resposta:
Criar a coluna "Pontos_extras" (40% da nota atual)
df['Pontos_extras'] = df['Notas'] * 0.4
- Crie mais uma coluna, chamada "Notas_finais" que possua as notas de cada aluno somada com os pontos extras.
resposta:
Criar a coluna "Notas_finais" (Soma das notas com pontos extras)
df['Notas_finais'] = df['Notas'] + df['Pontos_extras']
- Como houve uma pontuação extra, alguns alunos que não tinham sido aprovados antes podem ter sido aprovados agora. Com base nisso, crie uma coluna chamada "Aprovado_final" com os seguintes valores:
True: caso o aluno esteja aprovado (nota final deve ser maior ou igual a 6);
False: caso o aluno esteja reprovado (nota final deve ser menor que 6).
resposta:
Criar a coluna "Aprovado_final" (Nota final >= 6)
df['Aprovado_final'] = df['Notas_finais'] >= 6
4) Faça uma seleção e verifique quais alunos não tinham sido aprovados anteriormente, mas foram aprovados após a soma dos pontos extras.
resposta:
Seleção: Alunos que eram False e viraram True
Lógica: (Não aprovado anteriormente) E (Aprovado agora)
selecao = (df['Aprovado'] == False) & (df['Aprovado_final'] == True)
alunos_beneficiados = df[selecao]
Visualização do resultado
print(alunos_beneficiados)
codigo fonte:
import pandas as pd
Carregamento (Assumindo que o tratamento de nulos já foi feito na aula anterior)
url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/desafios/alunos.csv'
df = pd.read_csv(url)
df.fillna(0, inplace=True) # Essencial para não gerar erros no cálculo
1) Criar a coluna "Pontos_extras" (40% da nota atual)
df['Pontos_extras'] = df['Notas'] * 0.4
2) Criar a coluna "Notas_finais" (Soma das notas com pontos extras)
df['Notas_finais'] = df['Notas'] + df['Pontos_extras']
3) Criar a coluna "Aprovado_final" (Nota final >= 6)
df['Aprovado_final'] = df['Notas_finais'] >= 6
4) Seleção: Alunos que eram False e viraram True
Lógica: (Não aprovado anteriormente) E (Aprovado agora)
selecao = (df['Aprovado'] == False) & (df['Aprovado_final'] == True)
alunos_beneficiados = df[selecao]
Visualização do resultado
print(alunos_beneficiados)