Introdução
Na análise de dados, é comum encontrar conjuntos de dados que não estão organizados da maneira desejada. O reshaping de dados (remodelagem de dados) refere-se ao processo de alterar a forma como os dados são organizados em linhas e colunas. Neste laboratório, exploraremos alguns dos métodos-chave no Pandas para reshaping de dados, incluindo Pivot, Stack, Unstack, Melt, Cross tabulations (tabelas cruzadas), Tiling (telhamento), Factorizing (fatorização) e Exploding (explosão).
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importando as Bibliotecas Necessárias e Criando um DataFrame
Primeiramente, vamos importar as bibliotecas necessárias e criar um DataFrame para nossos exemplos.
import pandas as pd
import numpy as np
## Create DataFrame
np.random.seed([3, 1415])
n = 20
cols = np.array(["key", "row", "item", "col"])
df = cols + pd.DataFrame((np.random.randint(5, size=(n, 4)) // [2, 1, 2, 1]).astype(str))
df.columns = cols
df = df.join(pd.DataFrame(np.random.rand(n, 2).round(2)).add_prefix("val"))
Pivoteamento com Agregações Únicas
Pivot é um dos métodos-chave para reshaping de dados no Pandas. Ele oferece uma maneira de transformar seus dados para que você possa visualizá-los de diferentes ângulos.
## Pivot df with the mean of val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc="mean", fill_value=0)
Pivoteamento com Múltiplas Agregações
Também podemos realizar múltiplas agregações no Pivot.
## Pivot df with the mean and sum of val0
df.pivot_table(values="val0", index="row", columns="col", aggfunc=["mean", "sum"])
Tabulações Cruzadas
A tabulação cruzada (Cross tabulation) é um método para analisar quantitativamente a relação entre múltiplas variáveis.
## Cross tabulation between row and col
df.pivot_table(index="row", columns="col", fill_value=0, aggfunc="size")
Resumo
Parabéns! Você concluiu o laboratório de Remodelagem de Dados com Pandas. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.