Guide d'implémentation de Copy-On-Write en 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 fournit un guide étape par étape pour comprendre et implémenter le concept de Copy-On-Write (CoW) dans Python Pandas. Le CoW est une stratégie d'optimisation qui améliore les performances et l'utilisation de la mémoire en retardant les copies le plus longtemps possible. Il aide également à éviter les modifications accidentelles de plusieurs objets.

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 à Jupyter Notebook pour la pratique.

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

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

Activation du Copy-On-Write

Tout d'abord, activons le CoW dans pandas. Cela peut être fait à l'aide de l'option de configuration copy_on_write dans pandas. Voici deux façons de l'activer globalement.

## Importation des bibliothèques pandas et numpy
import pandas as pd

## Activer le CoW en utilisant set_option
pd.set_option("mode.copy_on_write", True)

## Ou en utilisant une affectation directe
pd.options.mode.copy_on_write = True

Comprendre le Copy-On-Write avec DataFrame

Maintenant, créons un DataFrame et voyons comment le Copy-On-Write affecte la modification des données.

## Créer un DataFrame
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## Créer un sous-ensemble du DataFrame
subset = df["foo"]

## Modifier le sous-ensemble
subset.iloc[0] = 100

## Afficher le DataFrame original
print(df)

Implémenter le Copy-On-Write avec DataFrame

Maintenant, voyons comment implémenter le Copy-On-Write lors de la modification d'un DataFrame.

## Activer le Copy-On-Write
pd.options.mode.copy_on_write = True

## Créer un sous-ensemble du DataFrame
subset = df["foo"]

## Modifier le sous-ensemble
subset.iloc[0] = 100

## Afficher le DataFrame original
print(df)

Comprendre l'affectation en chaîne avec Copy-On-Write

Maintenant, comprenons comment l'affectation en chaîne fonctionne avec Copy-On-Write.

## Créer un DataFrame
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## Appliquer une affectation en chaîne, qui violerait les principes de Copy-On-Write
df["foo"][df["bar"] > 5] = 100

## Afficher le DataFrame
print(df)

Implémenter l'affectation en chaîne avec Copy-On-Write

Enfin, voyons comment implémenter l'affectation en chaîne avec Copy-On-Write en utilisant la méthode loc.

## Créer un DataFrame
df = pd.DataFrame({"foo": [1, 2, 3], "bar": [4, 5, 6]})

## Appliquer une affectation en chaîne avec Copy-On-Write en utilisant 'loc'
df.loc[df["bar"] > 5, "foo"] = 100

## Afficher le DataFrame
print(df)

Sommaire

Dans ce laboratoire, vous avez appris le concept de Copy-On-Write (CoW) et comment l'implémenter dans Python Pandas. Vous avez également compris comment le CoW affecte la modification des données et comment il fonctionne avec l'affectation en chaîne. En utilisant le CoW, vous pouvez optimiser votre code pour une meilleure performance et une utilisation mémoire améliorée.