Top 10 Técnicas Avançadas de Manipulação de Dados com Pandas

import pandas as pd

# Criando o DataFrame
data = {
    'id': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    'produto': ['A', 'B', 'A', 'C', 'B', 'C', 'A', 'B', 'C', 'A'],
    'regiao': ['Norte', 'Sul', 'Norte', 'Sul', 'Norte', 'Sul', 'Norte', 'Sul', 'Norte', 'Sul'],
    'vendas': [100, 150, 200, 50, 300, 250, 400, 350, 500, 450],
    'custo': [80, 120, 160, 40, 240, 200, 320, 280, 400, 360],
    'data': pd.to_datetime(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05',
                            '2023-01-06', '2023-01-07', '2023-01-08', '2023-01-09', '2023-01-10'])
}

df = pd.DataFrame(data)
print(df)

1 – Selecionando os maiores e menores valores com nlargest() e nsmallest()

# Top 3 maiores vendas
top_vendas = df.nlargest(3, 'vendas')
print(top_vendas)

# Top 2 menores custos
menores_custos = df.nsmallest(2, 'custo')
print(menores_custos)

2 – Aplicando transformações com transform()

# Normalizar vendas por região
df['vendas_normalizadas'] = df.groupby('regiao')['vendas'].transform(lambda x: (x - x.mean()) / x.std())
print(df)

3 – Criando novas colunas com assign()

# Adicionar uma coluna de lucro
df = df.assign(lucro = df['vendas'] - df['custo'])
print(df)

4 – Transformando dados em formato longo com melt()

# Transformar colunas 'vendas' e 'custo' em linhas
df_melted = df.melt(id_vars=['id', 'produto', 'regiao'], value_vars=['vendas', 'custo'], var_name='tipo', value_name='valor')
print(df_melted)

5 – Copiando dados diretamente da área de transferência com read_clipboard()

id,produto,regiao,vendas,custo,data
11,D,Norte,600,480,2023-01-11
12,D,Sul,550,440,2023-01-12
df_novos_dados = pd.read_clipboard()
print(df_novos_dados)

6 – Melhorando a visualização com df.style

# Aplicar gradiente de cores na coluna de vendas
df.style.background_gradient(subset=['vendas'], cmap='Blues')

7 – Cálculos Acumulativos com cumsum(), cumprod(), cummax() e cummin()

# Soma acumulada de vendas
df['vendas_acumuladas'] = df['vendas'].cumsum()

# Máximo acumulado de custos
df['custo_maximo_acumulado'] = df['custo'].cummax()
print(df)

8 – Agregação personalizada com groupby().agg()

# Agregar vendas e custos por região
df_agg = df.groupby('regiao').agg({'vendas': 'sum', 'custo': 'mean'})
print(df_agg)

9 – Filtrando dados com query()

# Exemplo: Filtrar dados
df_filtrado = df.query('coluna1 > 50 and coluna2 == "valor"')

10 – Criando faixas de valores com pd.qcut()

# Dividir vendas em 3 categorias (Baixo, Médio, Alto)
df['categoria_vendas'] = pd.qcut(df['vendas'], q=3, labels=['Baixo', 'Médio', 'Alto'])
print(df)

Conclusão

  1. Mãos à obra aprendizado de máquina com Scikit-Learn, Keras & TensorFlow: conceitos, ferramentas e técnicas para a construção de sistemas inteligentes.
  2. Python para análise de dados
  3. Estatística Prática Para Cientistas de Dados: 50 Conceitos Essenciais
  4. An Introduction to Statistical Learning (Python e R)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima
×