0Pricing
Learn AI with Python · Aula

Tabelas dinâmicas e tabulação cruzada

pd.pivot_table(), pd.crosstab() e remodelagem de dados para estatísticas resumidas.

Tabelas dinâmicas e tabulação cruzada é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Reformatação para Obter Insights

Uma tabela dinâmica reforma dados longos em uma grade, resumindo um valor em dois eixos categóricos. É a tabela dinâmica de planilha que você conhece, mas programável.

import pandas as pd
df = pd.DataFrame({
    "region": ["E", "E", "W", "W", "E"],
    "product": ["A", "B", "A", "B", "A"],
    "sales": [10, 20, 30, 40, 50],
})

pivot_table básico

pd.pivot_table recebe values (os números a resumir), index (linhas) e columns (colunas). Por padrão, calcula a média de células duplicadas.

pt = pd.pivot_table(df, values="sales", index="region", columns="product")
print(pt)
# product     A     B
# region
# E        30.0  20.0
# W        30.0  40.0

Escolha de aggfunc

Defina aggfunc para controlar como as duplicatas são consolidadas: soma, mean, contagem e outras opções. Use uma lista para calcular várias de uma só vez.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum")
print(pt)

Várias aggfuncs

Passe uma lista de funções para calcular vários resumos lado a lado.

pt = pd.pivot_table(df, values="sales", index="region",
                    aggfunc=["sum", "mean", "count"])
print(pt)

Preenchimento de Células Vazias

Combinações sem dados se tornam NaN. fill_value as substitui, geralmente por 0, para produzir relatórios limpos.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum", fill_value=0)
print(pt)

Margens (Totais)

Defina margins=True para acrescentar totais gerais de linhas e colunas, rotulados como "Todos" por padrão.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum",
                    fill_value=0, margins=True)
print(pt)

Vários Níveis de Índice

Passe listas para index ou columns a fim de obter detalhamentos hierárquicos, por exemplo, primeiro por região e depois por produto.

df["channel"] = ["on", "off", "on", "off", "on"]
pt = pd.pivot_table(df, values="sales",
                    index=["region", "channel"], aggfunc="sum")
print(pt)

Tabulação Cruzada com crosstab

pd.crosstab é uma tabela dinâmica especializada que COUNTS a frequência das combinações de duas variáveis categóricas, sem precisar de uma coluna de valores.

ct = pd.crosstab(df["region"], df["product"])
print(ct)
# product   A  B
# region
# E         2  1
# W         1  1

Normalização de crosstab

O argumento normalize transforma contagens em proporções: "index" por linha, "columns" por coluna ou True em relação ao total geral.

ct = pd.crosstab(df["region"], df["product"], normalize="index")
print(ct)   # each row sums to 1.0

crosstab com Valores

Forneça values e aggfunc para fazer crosstab resumir uma métrica em vez de contar, aproximando seu uso do de pivot_table.

ct = pd.crosstab(df["region"], df["product"],
                 values=df["sales"], aggfunc="sum")
print(ct)

pivot_table versus crosstab

Use pivot_table ao resumir um valor numérico; use crosstab ao contar frequências de combinações de categorias. crosstab também transforma a normalização em proporções com uma única linha.

Verificação rápida

Teste seus conhecimentos de reformatação.

Recapitulação

Ferramentas de reformatação:

  • pd.pivot_table(values, index, columns, aggfunc) resume uma métrica
  • fill_value para células vazias e margins=True para totais
  • Use listas em index/columns para criar uma hierarquia
  • pd.crosstab conta combinações; normalize produz proporções

Perguntas Frequentes

A aula “Tabelas dinâmicas e tabulação cruzada” é grátis?

Sim — o texto completo de “Tabelas dinâmicas e tabulação cruzada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Tabelas dinâmicas e tabulação cruzada”?

pd.pivot_table(), pd.crosstab() e remodelagem de dados para estatísticas resumidas. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Tabelas dinâmicas e tabulação cruzada”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. GroupBy e agregação
  2. Tabelas dinâmicas e tabulação cruzada
  3. Mesclagem e junção avançadas
  4. Séries temporais no Pandas
← Voltar para Learn AI with Python