2
respostas

[Dúvida] Resultado planilha

# Calcular a média aritmética das provas para cada aluno
df["Nota final"] = df[["Prova 1", "Prova 2", "Prova 3", "Prova 4"]].mean(axis=1)

import caas_jupyter_tools
caas_jupyter_tools.display_dataframe_to_user(name="Média de Notas", dataframe=df)

STDOUT/STDERR
/home/sandbox/.local/lib/python3.11/site-packages/pandas/core/internals/blocks.py:2323: RuntimeWarning: invalid value encountered in cast
values = values.astype(str)

Resultado
Aluno Prova 1 Prova 2 Prova 3 Prova 4 Nota final
0 Marcelo Barbosa 6.5 8.3 9.2 7.2 7.800
1 Rafaela Santos 8.3 4.5 7.5 4.5 6.200
2 Ronaldo Santos 7.0 2.1 8.9 8.9 6.725
3 Lucas Gabriel Ribeiro 5.9 9.8 6.4 6.1 7.050
4 Luana da Silva 9.2 5.6 3.1 9.8 6.925

2 respostas

Olá, Mariana!

Obrigado por compartilhar o seu código e o resultado. Pelo que posso ver, o código que você escreveu está funcionando perfeitamente!

A linha de código:

df["Nota final"] = df[["Prova 1", "Prova 2", "Prova 3", "Prova 4"]].mean(axis=1)

está calculando a média das notas de cada prova para cada aluno e criando uma nova coluna chamada "Nota final" no seu DataFrame. O parâmetro axis=1 garante que a média seja calculada por linha, e não por coluna, o que é o comportamento correto para o seu problema.

O resultado que você postou mostra exatamente o que o código faz:

A nova coluna Nota final foi adicionada com sucesso.

Os valores calculados, como 7.800 para o Marcelo Barbosa, parecem estar corretos.

Pelo que o código e o resultado mostram, não vejo nenhum problema. A mensagem RuntimeWarning é apenas um aviso do Pandas, e não um erro.

Caso a sua dúvida seja outra, por favor, me dê mais detalhes para que eu possa te ajudar de forma mais precisa.

Oi, Mariana! Como vai?

Gostei de como você utilizou o método mean() para calcular a média aritmética das provas, ficou bem direto e legível. Isso ajuda bastante na análise dos dados e facilita a visualização dos resultados no dataframe.

Uma ideia para o futuro é usar o método round() para deixar as médias com um número definido de casas decimais.


df["Nota final"] = df[["Prova 1", "Prova 2", "Prova 3", "Prova 4"]].mean(axis=1).round(2)

Esse código calcula a média e arredonda o resultado para duas casas decimais.

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