1
resposta

[Dúvida] Usar a função .groupby() sem realizar nenhuma operação sobre os dados

Boa tarde. Executando o seguinte comando:

dados.groupby('Tipo')

Temos a seguinte saída:

<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7b564e4d6140>

Como faço para que sejam exibidos esses dados apenas agrupados em uma tabela, ou seja, sem qualquer execução de operação em cima dos dados (p.ex.: mean(), sum()... ) ?

Pq, com o comando:

dados.groupby('Tipo').mean(numeric_only=True)

É exibido os dados agrupados, porém foi aplicada a função mean() sobre eles..

Não sei e a dúvida ficou clara..qualquer coisa, tento adicionar mais informações.

1 resposta

Ooi, Thiago! Como vai?

Você pode usar o groupby sem uma função de agregação, mas precisa de um passo extra. O groupby sozinho cria um objeto DataFrameGroupBy, que é como um "preparo" para a análise. Para ver os dados agrupados, você precisa iterar sobre os grupos.

Vou deixar um exemplo abaixo:

import pandas as pd

df = pd.DataFrame({
   'Animal': ['Cachorro', 'Gato', 'Elefante', 'Cachorro', 'Gato', 'Elefante'],
   'Cor': ['Preto', 'Branco', 'Cinza', 'Marrom', 'Preto', 'Marrom'],
   'Quantidade': [2, 3, 1, 4, 2, 2]
})

# Agrupando por 'Animal' sem agregar
grouped = df.groupby('Animal')

# Iterando sobre cada grupo
for name, group in grouped:
    print(f"Grupo: {name}")
    print(group)

No exemplo, groupby foi usado para dividir o DataFrame em grupos baseados no valor da coluna Animal. Cada grupo foi então exibido individualmente, sem realizar nenhuma agregação nos dados.

Início da descrição. Print de um notebook do Google Colab que mostra o dataframe dividido por grupos (animais), em cada linha de cada grupo é possível ver os dados de índice, animal, cor e quantidade. Fim da descrição.

Espero ter contribuído para a sua compreensão sobre esse assunto!

Desejo sucesso! Continue firme nos estudos! ✨✨

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!