Acelerar Operações Pandas

Beginner

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

Introdução

Este laboratório guia você através de várias técnicas para acelerar operações em DataFrames pandas usando Cython, Numba e pandas.eval(). Essas técnicas podem fornecer melhorias significativas na velocidade ao trabalhar com grandes conjuntos de dados.

Dicas da 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 a limitações no 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ê.

Configuração e Criação de Dados de Amostra

Antes de começarmos, vamos importar os módulos necessários e criar um DataFrame de amostra.

## Importar módulos necessários
import pandas as pd
import numpy as np

## Criar um DataFrame de amostra
df = pd.DataFrame(
    {
        "a": np.random.randn(1000),
        "b": np.random.randn(1000),
        "N": np.random.randint(100, 1000, (1000)),
        "x": "x",
    }
)
df

Implementando Função em Python Puro

Começaremos criando uma função em Python puro que opera linha a linha no DataFrame.

## Definir uma função
def f(x):
    return x * (x - 1)

## Definir outra função que usa a primeira função
def integrate_f(a, b, N):
       s = 0
       dx = (b - a) / N
       for i in range(N):
           s += f(a + i * dx)
       return s * dx

Resumo

Parabéns! Você concluiu o laboratório "Speed Up Pandas Operations". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.