Olá William, tudo bem com você?
O método groupby
é utilizado para agrupar dados com base em uma ou mais colunas. O que ele faz é dividir o DataFrame em grupos, baseado nos valores únicos da coluna especificada, e então permite a aplicação de funções de agregação a cada grupo separadamente.
Quando utilizamos, df.groupby('Genero')
, indica que o DataFrame será agrupado com base na coluna Genero
. No entanto, apenas usar groupby
não altera visualmente o DataFrame original porque ele cria um objeto DataFrameGroupBy
, que é uma espécie de contêiner intermediário para os grupos, e não um DataFrame pronto para visualização.
Para exibirmos o efeito do groupby
, precisamos aplicar uma função de agregação aos grupos. Funções de agregação comuns incluem sum()
, mean()
, max()
, min()
, entre outras. Por exemplo, se quisermos a média das idades por gênero, podemos utilizar o seguinte código:
df_agrupado = df.groupby('Genero')['Idade'].mean()
print(df_agrupado)
Isso retornaria um novo DataFrame com a média de idade para cada gênero. Exemplo:
Genero | Idade |
---|
Homem | 21.0 |
Mulher | 19.0 |
Se você apenas quer ver os grupos sem aplicar uma função de agregação, você pode iterar sobre o objeto DataFrameGroupBy
:
for nome, grupo in df.groupby('Genero'):
print(nome)
print(grupo )
Isso imprimirá o nome de cada grupo (os valores únicos da coluna 'Genero') e o DataFrame correspondente a cada grupo, exemplo:
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!