Python

Como Criar Pivot Tables no Pandas

Escrito por Erick Faria · 2 min. >
Pivot Tables no Pandas

Neste post, vamos explorar como criar Pivot Tables no Pandas, uma biblioteca Python amplamente utilizada para análise de dados. As Pivot Tables são ferramentas poderosas para resumir, reorganizar e analisar grandes volumes de dados. Vamos criar um DataFrame de exemplo e abordar várias técnicas para criar e manipular Pivot Tables utilizando métodos do Pandas.

O que são Pivot Tables no Pandas?

Pivot Tables (tabelas dinâmicas) são utilizadas para reorganizar e resumir dados de maneira interativa. Elas permitem transformar colunas em linhas e vice-versa, além de realizar operações de agregação como soma, média e contagem. As Pivot Tables são amplamente usadas em análise de dados para obter insights a partir de grandes conjuntos de dados.

Criando um DataFrame de Exemplo

Vamos começar criando um DataFrame simples que contém dados variados:

# Pivot Tables no Pandas
import pandas as pd

data = {
    'Nome': ['João', 'Ana', 'Carlos', 'Marta', 'João', 'Ana', 'Carlos', 'Marta'],
    'Ano': [2021, 2021, 2021, 2021, 2022, 2022, 2022, 2022],
    'Vendas': [150, 200, 300, 400, 500, 600, 700, 800],
    'Lucro': [50, 80, 120, 160, 200, 240, 280, 320]
}

df = pd.DataFrame(data)

Criando uma Pivot Table

Pivot Table Simples

Vamos criar uma Pivot Table simples que resume as vendas por nome:

# Pivot Tables no Pandas
pivot_vendas = df.pivot_table(values='Vendas', index='Nome', aggfunc='sum')

Pivot Table com Múltiplas Colunas

Podemos criar uma Pivot Table que agrupa por múltiplas colunas. Por exemplo, para resumir as vendas por nome e ano:

# Pivot Tables no Pandas
pivot_vendas_ano = df.pivot_table(values='Vendas', index='Nome', columns='Ano', aggfunc='sum')

Pivot Table com Múltiplas Funções de Agregação

Podemos aplicar múltiplas funções de agregação em uma Pivot Table. Por exemplo, para calcular a soma e a média das vendas:

# Pivot Tables no Pandas
pivot_multifunc = df.pivot_table(values='Vendas', index='Nome', aggfunc=['sum', 'mean'])

Adicionando Totais na Pivot Table

Podemos adicionar margens (totais) às Pivot Tables para incluir somas gerais:

# Pivot Tables no Pandas
pivot_com_margens = df.pivot_table(values='Vendas', index='Nome', columns='Ano', aggfunc='sum', margins=True)

Filtrando Dados na Pivot Table

Podemos filtrar dados diretamente na criação da Pivot Table. Por exemplo, filtrando apenas os anos de 2021:

# Pivot Tables no Pandas
pivot_filtrada = df[df['Ano'] == 2021].pivot_table(values='Vendas', index='Nome', columns='Ano', aggfunc='sum')

Pivot Tables com Múltiplos Valores

Podemos criar Pivot Tables que resumem múltiplos valores. Por exemplo, para resumir vendas e lucro por nome:

# Pivot Tables no Pandas
pivot_multivalores = df.pivot_table(values=['Vendas', 'Lucro'], index='Nome', aggfunc='sum')

Visualizando Pivot Tables

Visualizar Pivot Tables pode ajudar a identificar padrões e insights. Podemos usar bibliotecas como Matplotlib ou Seaborn para criar gráficos:

# Pivot Tables no Pandas
import matplotlib.pyplot as plt

pivot_vendas_ano.plot(kind='bar')
plt.title('Vendas por Ano e Nome')
plt.ylabel('Vendas')
plt.show()

Para mais informações sobre como utilizar o Pandas para análise de dados, confira outros conteúdos no meu blog:

Considerações Finais

Espero que este guia tenha sido útil para aprender como criar Pivot Tables 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: Guia completo para Iniciantes, 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.

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile