Consegui entender o código na parte de selecionar as médias e as casa decimais, mas não compreendi o uso da função .groupby()
Consegui entender o código na parte de selecionar as médias e as casa decimais, mas não compreendi o uso da função .groupby()
Oii Lucas, tudo bem contigo?
O groupby
vai agrupar os dados para permitir que você execute operações para cada grupo criado. Esse método divide os dados com base na coluna e/ou condição desejada em grupos e aplica a função desejada nesse grupo, combinando o resultado em uma única saída.
Esse método pode envolver uma ou mais das seguintes etapas:
Destes, a etapa de divisão é a mais direta. Na verdade, em muitas situações, podemos dividir o conjunto de dados em grupos e fazer algo com esses grupos. Na etapa de aplicação, podemos utilizar diferentes recursos:
No caso do exercício em questão nosso intuito é calcular as notas médias dos alunos segundo seu sexo. Para conseguir fazer esse cálculo primeiramente precisamos agrupar todas as colunas do nosso DataFrame de acordo com o sexo, e para isso utilizamos o groupby
:
sexo = alunos.groupby('Sexo')
Feito isso, nós podemos aplicar a função mean
a esse conjunto de dados agrupados para obtermos a média de cada uma das colunas de acordo com o sexo:
sexo.mean().round(2)
Resultado:
Sexo | Idade | Notas | Aprovado |
---|---|---|---|
F | 31.25 | 5.82 | 0.5 |
M | 30.5 | 7.12 | 0.5 |
No entanto, o exercício pede apenas um DataFrame com as notas médias de cada aluno segundo seu sexo, e para fazer isso podemos selecionar a coluna "Notas" especificamente, calcular a média e passar para a função que cria um DataFrame, conforme a alternativa correta mostra:
sexo = alunos.groupby('Sexo')
sexo = pd.DataFrame(sexo['Notas'].mean().round(2))
sexo.columns = ['Notas Médias']
sexo
Caso queira saber mais sobre o groupby
, nesse link você encontra um guia de usuário do pandas (em inglês) com vários exemplos detalhados utilizando o groupby e aplicando diferentes funções. E nesse artigo (também está em inglês) é apresentado outros exemplos utilizando essa função e também aplicando algumas funções de agregação.
Caso queira acessar a documentação do groupby, basta clicar aqui
Espero que isso te ajude. Agrupamentos também serão abordados nas próximas aulas :)
Qualquer dúvida me avisa.
Desculpe, mensagem enviada errada.
Lucas pelo que entendi o GROUP BY: Por exemplo executando: dados['Valor']. mean() o resultado vai ser a média geral de todos os imóveis, agora agrupando por bairro e então aplicando a média: dados. groupby('Bairro')['Valor']. mean() o resultado vai ser as médias do valor para cada bairro.
Espero ter te ajudado.