Boa noite, conforme pedido no exercício, cheguei a mesma conclusão com uma forma um pouco diferente:
dados = alunos.groupby('Sexo')
for i, j in dados:
print('Sexo {} a média é {}'.format(i, round(j['Notas'].mean(), 2)))
Boa noite, conforme pedido no exercício, cheguei a mesma conclusão com uma forma um pouco diferente:
dados = alunos.groupby('Sexo')
for i, j in dados:
print('Sexo {} a média é {}'.format(i, round(j['Notas'].mean(), 2)))
Oii Danival, como você está?
Existem várias formas de resolução e fico feliz que você tenha encontrado uma diferente da que foi proposta e obrigada por compartilhar essa forma conosco. Não há problemas quanto a resolver de forma diferente, o único ponto de atenção, é que o exercício pede para criarmos um novo dataFrame
com as médias e partindo da forma como você fez, uma maneira de fazermos isso é salvarmos o resultado em uma lista de dicionários e após isso, passarmos o valor para o dataFrame
. Veja como fica em código:
dados = alunos.groupby('Sexo')
valores = []
for i, j in dados:
valores.append({
"Sexo": i,
"Nota Média": round(j['Notas'].mean(), 2)
})
df = pd.DataFrame(valores)
Resultado:
E caso queira utilizar o Sexo
como índice do dataframe, basta utilizarmos a função set_index, como mostro abaixo:
df = pd.DataFrame(valores)
df.set_index("Sexo", inplace=True)
Resultado:
Qualquer dúvida fico à disposição.
Grande abraço!