Remodelagem de Dados com Pandas

Beginner

This tutorial is from open-source community. Access the source code

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.