Accélérer les opérations sur Pandas

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce laboratoire vous guide à travers diverses techniques pour accélérer les opérations sur un DataFrame pandas à l'aide de Cython, Numba et pandas.eval(). Ces techniques peuvent apporter des améliorations significatives de vitesse lors du travail avec de grands ensembles de données.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder au Notebook Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le Notebook Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du Notebook Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Configuration et création de données d'échantillonnage

Avant de commencer, importons les modules nécessaires et créons un DataFrame d'échantillonnage.

## Import necessary modules
import pandas as pd
import numpy as np

## Create a sample DataFrame
df = pd.DataFrame(
    {
        "a": np.random.randn(1000),
        "b": np.random.randn(1000),
        "N": np.random.randint(100, 1000, (1000)),
        "x": "x",
    }
)
df

Implémentation d'une fonction en Python pur

Nous commencerons par créer une fonction en Python pur qui opère ligne par ligne sur le DataFrame.

## Define a function
def f(x):
    return x * (x - 1)

## Define another function that uses the first function
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

Sommaire

Félicitations ! Vous avez terminé le laboratoire d'accélération des opérations sur Pandas. Vous pouvez pratiquer d'autres laboratoires dans LabEx pour améliorer vos compétences.