As tabelas dinâmicas continuam entre as ferramentas mais reverenciadas e amplamente utilizadas no MS Excel. Seja você um analista de dados, engenheiro de dados ou simplesmente um usuário comum, é provável que você já tenha um fraquinho pelo MS Excel.

No entanto, há um escopo crescente para replicar as ferramentas e utilitários do MS Excel, especialmente em Python. Você sabia que pode criar tabelas dinâmicas extensas nos DataFrames do Python com algumas linhas de código?

Sim esta correto; se você está intrigado, veja como você pode fazer isso.

Pré-requisitos para criar tabelas dinâmicas

Como qualquer outra linguagem de programação, até o Python precisa que você preencha alguns pré-requisitos antes de começar a codificar.

Para obter a experiência mais otimizada ao criar sua primeira tabela dinâmica em Python, aqui está o que você precisará:

  • IDE Python: A maioria dos códigos Python tem um ambiente de desenvolvimento integrado (IDE) pré-instalado em seu sistema. Existem vários IDEs compatíveis com Python no mercado, incluindo Jupyter Notebook, Spyder, PyCharm e muitos outros.
  • Dados de amostra: Para ilustração, aqui está um conjunto de dados de amostra para você trabalhar. Como alternativa, sinta-se à vontade para ajustar esses códigos diretamente em seus dados ao vivo.

Link de amostra de dados:Superloja de amostra

Importando as Bibliotecas Essenciais

Como o Python funciona no conceito de bibliotecas de terceiros, você precisa importar o Pandas biblioteca para criar pivôs.

Você pode usar Pandas para importar um arquivo do Excel para o Python e armazene os dados em um DataFrame. Para importar Pandas, use o importar comando da seguinte maneira:

importar pandas Como pd

Como criar pivôs em Python

Como a biblioteca já está disponível, você precisa importar o arquivo Excel para Python, que é a base para criar e testar pivôs em Python. Armazene os dados importados em um DataFrame com o seguinte código:

# Cria um novo DataFrame
# substitua por seu próprio caminho aqui
caminho = "C://Users//user/OneDrive//Desktop//"
# você pode definir o nome do arquivo aqui
arquivo = "Amostra - Superstore.xls"
df = pd.read_excel (caminho + arquivo)
df.cabeça()

Onde:

  • df: Nome da variável para armazenar os dados do DataFrame
  • pd: Alias ​​para a biblioteca Pandas
  • leia_excel(): Função Pandas para ler um arquivo do Excel em Python
  • caminho: O local onde o arquivo do Excel está armazenado (Sample Superstore)
  • Arquivo: Nome do arquivo para importar
  • cabeça(): Exibe as cinco primeiras linhas do DataFrame, por padrão

O código acima importa o arquivo do Excel para o Python e armazena os dados em um DataFrame. finalmente, o cabeça A função exibe as primeiras cinco linhas de dados.

Essa função é útil para garantir que os dados sejam importados corretamente para o Python.

Quais campos de tabela dinâmica existem em Python?

Como sua contraparte do Excel, uma tabela dinâmica tem um conjunto semelhante de campos em Python. Aqui estão alguns campos que você precisa conhecer:

  • Dados: O campo de dados refere-se aos dados armazenados em um DataFrame Python
  • Valores: Dados colunares usados ​​em um pivô
  • Índice: Uma(s) coluna(s) de índice para agrupar os dados
  • Colunas: As colunas ajudam a agregar os dados existentes em um DataFrame

Objetivo por trás do uso da função de índice

Como a função de índice é o elemento principal de uma tabela dinâmica, ela retorna o layout básico dos dados. Em outras palavras, você pode agrupar seus dados com o índice função.

Suponha que você queira ver alguns valores agregados para os produtos listados no Segmento coluna. Você pode calcular um agregado predefinido (valor médio) em Python definindo a coluna designada como um valor de índice.

df.pivot_table (índice = "Segmento")

Onde:

  • df:DataFrame contendo os dados
  • tabela_dinâmica:Função de tabela dinâmica em Python
  • índice: função embutida para definir uma coluna como um índice
  • Segmento: Coluna a ser usada como valor de índice

Os nomes de variáveis ​​do Python diferenciam maiúsculas de minúsculas, portanto, evite fazer a transição dos nomes de variáveis ​​predefinidos listados neste guia.

Como usar valores de vários índices

Quando você deseja usar várias colunas de índice, você pode definir os nomes das colunas em um Lista dentro da função de índice. Tudo o que você precisa fazer é especificar os nomes das colunas dentro de um conjunto de colchetes ([ ]), como mostrado abaixo:

df.pivot_table (índice = ["Categoria", "Subcategoria"])

A função pivot recua a coluna de índice na saída. Python exibe o significa de todos os valores numéricos em relação a cada valor de índice.

Aprenda a restringir os valores na saída

Como o Python escolhe todas as colunas numéricas por padrão, você pode restringir os valores para ajustar os resultados mostrados na saída final. Use o valores função para definir as colunas que você deseja ver.

df.pivot_table (índice = ["Região", "Categoria", "Subcategoria"], valores = "Vendas")

Na saída final, haverá três colunas de índice e os valores médios da coluna Vendas comparados a cada elemento.

Definindo funções agregadas na tabela dinâmica

O que acontece quando você não quer calcular os valores médios por padrão? A tabela dinâmica tem muitas outras funcionalidades, que vão além do cálculo de uma média simples.

Veja como escrever o código:

df.pivot_table (índice = ["Categoria"], valores = "Vendas", aggfunc = [soma, max, min, len])

Onde:

  • soma: Calcula a soma dos valores
  • máx.: Calcula o valor máximo
  • min: Calcula o valor máximo
  • len: Calcula a contagem de valores

Você também pode definir cada uma dessas funções em linhas de código separadas.

Como adicionar totais gerais à tabela dinâmica

Nenhum ativo de dados está completo sem os totais gerais. Para calcular e exibir os totais gerais por coluna de dados, use o margens e margins_name função.

df.pivot_table (índice = ["Categoria"], valores = "Vendas", aggfunc = [soma, max, min, len], margins=True, margins_name='Totais gerais')

Onde:

  • margens: Função para calcular o total geral
  • margin_name: Especifique o nome da categoria na coluna de índice (por exemplo, totais gerais)

Modificar e usar o código final

Aqui está o resumo do código final:

importar pandas Como pd
# substitua por seu próprio caminho aqui
caminho = "C://Users//user/OneDrive//Desktop//"
# você pode definir o nome do arquivo aqui
arquivo = "Amostra - Superstore.xls"
df = pd.read_excel (caminho + arquivo)
df.pivot_table (índice = ["Região", "Categoria", "Subcategoria"], valores = "Vendas",
aggfunc = [soma, max, min, len],
margens=Verdadeiro,
margins_name='Totais gerais')

Criando tabelas dinâmicas em Python

Quando você está usando tabelas dinâmicas, as opções são simplesmente infinitas. O Python permite que você manipule facilmente grandes arrays de dados sem se preocupar com discrepâncias de dados e atrasos do sistema.

Como as funcionalidades do Python não se restringem apenas a condensar dados em pivôs, você pode combinar várias pastas de trabalho e planilhas do Excel, enquanto executa uma série de funções relacionadas com o Python.

Com Python, sempre há algo novo no horizonte.