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!

2
respostas

Desafio: bora praticar?

import pandas as pd

# Importação do arquivo CSV:
url = 'https://raw.githubusercontent.com/alura-cursos/pandas-conhecendo-a-biblioteca/main/desafios/alunos.csv'
alunos = pd.read_csv(url)

# 1. Criação da coluna "Pontos_extras" (40% da nota atual):
alunos["Pontos_extras"] = alunos["Notas"] * 0.4

# 2. Criação da coluna "Notas_finais" (nota + pontos extras):
alunos["Notas_finais"] = alunos["Notas"] + alunos["Pontos_extras"]

# 3. Criação da coluna "Aprovado_final":
alunos["Aprovado_final"] = alunos["Notas_finais"] >= 6

# 4. Seleção dos alunos que não estavam aprovados antes, mas ficaram aprovados depois:
novos_aprovados = alunos[(alunos["Aprovado"] == False) & (alunos["Aprovado_final"] == True)]

# Resultado:
print("Aprovados após pontos extras:")
print(novos_aprovados[["Nome", "Notas", "Pontos_extras", "Notas_finais", "Aprovado", "Aprovado_final"]])


Aprovados após pontos extras:
     Nome  Notas  Pontos_extras  Notas_finais  Aprovado  Aprovado_final
3   Denis    5.0           2.00          7.00     False            True
8   Alice    5.6           2.24          7.84     False            True
11   Igor    4.5           1.80          6.30     False            True
2 respostas

Olá, Andressa! Como vai?

Parabéns pela solução criativa!

Vi que você explorou o pandas para criar novas colunas em Python, utilizou muito bem o cálculo proporcional para pontos extras e ainda compreendeu a importância da filtragem lógica para identificar os novos aprovados.

Uma dica interessante para o futuro é aplicar funções como .apply() para criar colunas derivadas de forma mais flexível. Assim:

alunos["Status"] = alunos["Notas_finais"].apply(lambda x: "Excelente" if x >= 9 else "Bom" if x >= 6 else "Revisar")
print(alunos[["Nome", "Notas_finais", "Status"]])

Isso gera uma classificação personalizada para cada aluno.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Documentação: sempre nomeie colunas de forma clara e descritiva.
  • Escalabilidade: prefira operações vetorizadas em vez de loops para grandes bases.
  • Validação: confira se os cálculos fazem sentido com .sample() para inspecionar linhas aleatórias.

Ah, uma pergunta: você prefere enriquecer DataFrames com novas colunas derivadas para análises mais completas ou manter apenas as colunas originais para simplicidade e foco?

Abraço e bons estudos!

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

Muito obrigada, Daniel!