Olá, Daniel! Tudo bom?
Quando selecionamos notas_beltrano.loc[elemento_md - 1]
por exemplo, estamos extraindo uma linha inteira de um dataframe no pandas.Podemos visualizar isso com um print()
.
print(notas_beltrano.loc[elemento_md - 1])
Output:
Perceba que não é só o valor da nota de Física de da coluna 'Beltrano' (9,5),mas a nota e a coluna index
também.
Por isso fazendo esta soma que foi executada.
result = ((notas_beltrano.loc[elemento_md - 1] + notas_beltrano.loc[elemento_md]))
print(result)
Teríamos esta saída:
O python não só somou o valor da nota, mas também concatenou a string História
e Física
. Por isso a soma não retornou erro algum já que concatenar a string é totalmente possível, mas por outro lado fazer a divisão de uma string não é, então ao tentar dividir este resultado, nos deparamos com o erro que você mencionou.
Para solucionar isso, você poderá selecionar somente a coluna com os valores que deseja fazer a operação.
Desta forma:
resultado = ((notas_beltrano.loc[elemento_md - 1][1] + notas_beltrano.loc[elemento_md][1])) // A coluna 0 é nossa coluna index com os nomes das matérias, já a coluna 1 sãos as notas de beltrano.
print(resultado)
Output:
12.5
E se tentarmos fazer a divisão agora teríamos o resultado desejado.
result = ((notas_beltrano.loc[elemento_md - 1][1] + notas_beltrano.loc[elemento_md][1]))
print(result/2)
Output:
6.25
Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!