Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio: bora praticar?

1-
dados['Pontos_extras'] = dados['Notas'] * 0.40
dados.head(20)

Nome	Idade	Notas	Aprovado	Pontos_extras

0 Ary 20 7.5 True 3.00
1 Ana 18 NaN False NaN
2 Cátia 27 2.5 False 1.00
3 Denis 18 5.0 False 2.00
4 Beto 21 10.0 True 4.00
5 Bruna 23 NaN False NaN
6 Dara 21 7.0 True 2.80
7 Carlos 19 6.0 True 2.40
8 Alice 35 5.6 False 2.24
9 Vitor 28 NaN False NaN
10 Daniel 21 NaN False NaN
11 Igor 24 4.5 False 1.80
12 Sthefanie 26 9.5 True 3.80
13 Mirla 25 9.0 True 3.60
14 Paulo 37 NaN False NaN
15 Mylena 29 7.0 True 2.80
16 Lucas 33 NaN False NaN
17 Nadia 34 8.0 True 3.20

2-
dados['Notas_finais'] = dados['Notas'] + dados['Pontos_extras']
dados.head(20)

Nome Idade Notas Aprovado Pontos_extras Notas_finais
0 Ary 20 7.5 True 3.00 10.50
1 Ana 18 NaN False NaN NaN
2 Cátia 27 2.5 False 1.00 3.50
3 Denis 18 5.0 False 2.00 7.00
4 Beto 21 10.0 True 4.00 14.00
5 Bruna 23 NaN False NaN NaN
6 Dara 21 7.0 True 2.80 9.80
7 Carlos 19 6.0 True 2.40 8.40
8 Alice 35 5.6 False 2.24 7.84
9 Vitor 28 NaN False NaN NaN
10 Daniel 21 NaN False NaN NaN
11 Igor 24 4.5 False 1.80 6.30
12 Sthefanie 26 9.5 True 3.80 13.30
13 Mirla 25 9.0 True 3.60 12.60
14 Paulo 37 NaN False NaN NaN
15 Mylena 29 7.0 True 2.80 9.80
16 Lucas 33 NaN False NaN NaN
17 Nadia 34 8.0 True 3.20 11.20

3-
dados['Aprovado_final'] = dados['Notas_finais'].apply(lambda x: 'sim' if x > 6.00 else 'não')
dados.head(20)

Nome	Idade	Notas	Aprovado	Pontos_extras	Notas_finais	Aprovado_final

0 Ary 20 7.5 True 3.00 10.50 sim
1 Ana 18 NaN False NaN NaN não
2 Cátia 27 2.5 False 1.00 3.50 não
3 Denis 18 5.0 False 2.00 7.00 sim
4 Beto 21 10.0 True 4.00 14.00 sim
5 Bruna 23 NaN False NaN NaN não
6 Dara 21 7.0 True 2.80 9.80 sim
7 Carlos 19 6.0 True 2.40 8.40 sim
8 Alice 35 5.6 False 2.24 7.84 sim
9 Vitor 28 NaN False NaN NaN não
10 Daniel 21 NaN False NaN NaN não
11 Igor 24 4.5 False 1.80 6.30 sim
12 Sthefanie 26 9.5 True 3.80 13.30 sim
13 Mirla 25 9.0 True 3.60 12.60 sim
14 Paulo 37 NaN False NaN NaN não
15 Mylena 29 7.0 True 2.80 9.80 sim
16 Lucas 33 NaN False NaN NaN não
17 Nadia 34 8.0 True 3.20 11.20 sim

4-
antes = dados['Notas'] < 7
depois = dados['Notas_finais'] >= 7

alunos_novos_aprovados = dados[antes & depois]

print(alunos_novos_aprovados)

 Nome  Idade  Notas  Aprovado  Pontos_extras  Notas_finais Aprovado_final

3 Denis 18 5.0 False 2.00 7.00 sim
7 Carlos 19 6.0 True 2.40 8.40 sim
8 Alice 35 5.6 False 2.24 7.84 sim

1 resposta

Oi, Marcelo! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Muito bem! Você organizou bem cada etapa do desafio de forma progressiva. A criação das colunas Pontos_extras, Notas_finais e Aprovado_final demonstra um bom entendimento do fluxo de transformação de dados. Vale destacar também o uso das variáveis booleanas antes e depois para filtrar os alunos que mudaram de situação após a aplicação dos pontos extras, como Denis, Carlos e Alice, que passaram a ser aprovados com as notas finais acima de 6.00.

Uma dica interessante é usar o método clip() para limitar a nota final, caso a regra do exercício determine que a nota máxima permitida seja 10. Veja este exemplo:


dados['Notas_finais'] = dados['Notas_finais'].clip(upper=10)

Esse código limita os valores da coluna Notas_finais para que nenhum resultado ultrapasse 10, o que seria importante para alunos como Beto, que atingiu 14.00 após os pontos extras.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!