Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilização de groupby

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)))
1 resposta
solução!

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:

Imagem que mostra como fica o resultado do daframe, com duas colunas, uma de Sexo e outra de Nota Média, onde os índices são números inteiros que começam de 0

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:

Imagem que mostra como fica o resultado do daframe, com apenas uma coluna chamada Nota Média e os índices são os Sexos

Qualquer dúvida fico à disposição.

Grande abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software