Neste post, vamos explorar como agrupar dados no Pandas, uma biblioteca Python amplamente utilizada para análise de dados. Vamos criar um DataFrame de exemplo e, em seguida, abordar várias técnicas para agrupar dados utilizando o método groupby
do Pandas.
Sumário
Conhecendo o Pandas
Pandas é uma biblioteca poderosa e versátil, fundamental para manipulação e análise de dados em Python. Desde a sua criação em 2008, ela se tornou uma das ferramentas mais populares para cientistas de dados e analistas. O nome “Pandas” é uma referência ao termo “Panel Data”, utilizado em econometria.
Para quem está começando, o Pandas oferece duas principais estruturas de dados: as Series (unidimensionais) e os DataFrames (bidimensionais). Ambas são essenciais para manipulação de dados e permitem operações rápidas e eficientes.
Se você deseja uma introdução mais detalhada ao Pandas, confira o guia completo na documentação oficial do Pandas. Agora, vamos nos concentrar em como agrupar dados usando o Pandas.
Agrupar Dados no Pandas
Criando um DataFrame
Antes de agrupar dados, precisamos de um DataFrame de exemplo. Vamos criar um DataFrame simples para ilustrar as técnicas de agrupamento:
# Agrupar Dados no Pandas
import pandas as pd
data = {
'Nome': ['João', 'Ana', 'Carlos', 'Marta', 'João', 'Ana'],
'Idade': [23, 45, 36, 41, 23, 45],
'Cidade': ['São Paulo', 'Rio de Janeiro', 'Belo Horizonte', 'Salvador', 'São Paulo', 'Rio de Janeiro'],
'Salário': [5000, 7000, 8000, 6000, 5000, 7000]
}
df = pd.DataFrame(data)
Agrupando Dados com groupby
O método groupby
é uma ferramenta poderosa no Pandas para agrupar dados com base em uma ou mais colunas. Por exemplo, para agrupar dados pelo nome e calcular a média dos salários, você faria:
# Agrupar Dados no Pandas
df.groupby('Nome')['Salário'].mean()
Isso retorna a média dos salários para cada nome único no DataFrame.
Agrupando por Múltiplas Colunas
Você também pode agrupar dados por múltiplas colunas. Por exemplo, para agrupar por nome e cidade, e calcular a soma dos salários:
# Agrupar Dados no Pandas
df.groupby(['Nome', 'Cidade'])['Salário'].sum()
Isso retorna a soma dos salários para cada combinação única de nome e cidade.
Aplicando Funções de Agregação
O método groupby
permite aplicar diversas funções de agregação, como mean
, sum
, count
, min
, max
, etc. Por exemplo, para contar o número de registros para cada cidade:
# Agrupar Dados no Pandas
df.groupby('Cidade')['Nome'].count()
Usando agg
para Agregações Múltiplas
O método agg
permite aplicar múltiplas funções de agregação simultaneamente. Por exemplo, para calcular a média e a soma dos salários por cidade:
df.groupby('Cidade')['Salário'].agg(['mean', 'sum'])
Filtrando Grupos
Você pode filtrar grupos com base em condições específicas usando o método filter
. Por exemplo, para filtrar cidades com uma média de salário maior que 6000:
# Agrupar Dados no Pandas
df.groupby('Cidade').filter(lambda x: x['Salário'].mean() > 6000)
Links Úteis e Mais Conteúdo
Para mais informações sobre como utilizar o Pandas para análise de dados, confira outros conteúdos no meu blog:
- Vantagens de Aprender Python
- Python Orientado a Objetos
- GroupBy no Pandas
- Selecionar Coluna no Pandas
- Merge no Pandas
Considerações Finais
Espero que este guia tenha sido útil para aprender como agrupar dados no Pandas. A prática é essencial para dominar essas técnicas, então encorajo você a experimentar e aplicar esses métodos em seus próprios projetos de análise de dados.
Para aprimorar suas habilidades com o Pandas e se tornar mais eficiente na manipulação de dados, é importante também fortalecer sua compreensão em Python. Recomendamos o livro “Fundamentos em Python: Para Iniciantes em Programação e Computação”, disponível na Amazon, que oferece uma introdução abrangente ao Python.
Junte-se à nossa comunidade no Twitter e inscreva-se no nosso canal do YouTube para acessar mais tutoriais, dicas e recursos. Continue praticando e explorando novas maneiras de manipular dados com o Pandas, e fique atento para mais guias e tutoriais que compartilharemos.