Guía de implementación de Copia al Escribir en Pandas

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Esta práctica proporciona una guía paso a paso para entender e implementar el concepto de Copia al Escribir (Copy-On-Write - CoW) en Python Pandas. El CoW es una estrategia de optimización que mejora el rendimiento y el uso de memoria al retrasar las copias durante el mayor tiempo posible. También ayuda a evitar modificaciones accidentales de más de un objeto.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

En ocasiones, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Habilitando la Copia al Escribir

Primero, habilitemos el CoW en pandas. Esto se puede hacer utilizando la opción de configuración copy_on_write en pandas. A continuación, se presentan dos maneras de habilitar el CoW de manera global.

## Importando las bibliotecas pandas y numpy
import pandas as pd

## Habilitar el CoW utilizando set_option
pd.set_option("mode.copy_on_write", True)

## O utilizando una asignación directa
pd.options.mode.copy_on_write = True

Comprendiendo la Copia al Escribir con DataFrame

Ahora, creemos un DataFrame y veamos cómo la Copia al Escribir (CoW) afecta la modificación de datos.

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

## Crea un subconjunto del DataFrame
subset = df["foo"]

## Modifica el subconjunto
subset.iloc[0] = 100

## Imprime el DataFrame original
print(df)

Implementando la Copia al Escribir con DataFrame

Ahora, veamos cómo implementar la Copia al Escribir cuando se modifica un DataFrame.

## Habilita la Copia al Escribir
pd.options.mode.copy_on_write = True

## Crea un subconjunto del DataFrame
subset = df["foo"]

## Modifica el subconjunto
subset.iloc[0] = 100

## Imprime el DataFrame original
print(df)

Comprendiendo la asignación encadenada con la Copia al Escribir

Ahora, veamos cómo funciona la asignación encadenada con la Copia al Escribir (CoW).

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

## Aplica la asignación encadenada, lo que violaría los principios de la Copia al Escribir
df["foo"][df["bar"] > 5] = 100

## Imprime el DataFrame
print(df)

Implementando la asignación encadenada con la Copia al Escribir

Finalmente, veamos cómo implementar la asignación encadenada con la Copia al Escribir (CoW) utilizando el método loc.

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

## Aplica la asignación encadenada con CoW utilizando 'loc'
df.loc[df["bar"] > 5, "foo"] = 100

## Imprime el DataFrame
print(df)

Resumen

En este laboratorio, aprendiste sobre el concepto de Copia al Escribir (CoW) y cómo implementarlo en Python Pandas. También comprendiste cómo la Copia al Escribir afecta la modificación de datos y cómo funciona con la asignación encadenada. Al utilizar la Copia al Escribir, puedes optimizar tu código para obtener un mejor rendimiento y un mejor uso de la memoria.