Guia de Implementação de Copy-On-Write no Pandas

Beginner

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

Introdução

Este laboratório fornece um guia passo a passo para entender e implementar o conceito de Copy-On-Write (CoW) em Python Pandas. CoW é uma estratégia de otimização que melhora o desempenho e o uso da memória, atrasando as cópias o máximo possível. Também ajuda a evitar modificações acidentais de mais de um objeto.

Dicas para a 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ê.

Habilitando Copy-On-Write

Primeiramente, vamos habilitar o CoW no pandas. Isso pode ser feito usando a opção de configuração copy_on_write no pandas. Aqui estão duas maneiras de habilitar o CoW globalmente.

## Importing the pandas and numpy libraries
import pandas as pd

## Enable CoW using set_option
pd.set_option("mode.copy_on_write", True)

## Or using direct assignment
pd.options.mode.copy_on_write = True

Entendendo CoW com DataFrame

Agora, vamos criar um DataFrame e ver como o CoW afeta a modificação dos dados.

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

## Create a subset of the DataFrame
subset = df["foo"]

## Modify the subset
subset.iloc[0] = 100

## Print the original DataFrame
print(df)

Implementando CoW com DataFrame

Agora, vamos ver como implementar o CoW ao modificar um DataFrame.

## Enable CoW
pd.options.mode.copy_on_write = True

## Create a subset of the DataFrame
subset = df["foo"]

## Modify the subset
subset.iloc[0] = 100

## Print the original DataFrame
print(df)

Entendendo Atribuição Encadeada com CoW

Agora, vamos entender como a atribuição encadeada funciona com CoW.

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

## Apply chained assignment, which would violate CoW principles
df["foo"][df["bar"] > 5] = 100

## Print the DataFrame
print(df)

Implementando Atribuição Encadeada com CoW

Finalmente, vamos ver como implementar a atribuição encadeada com CoW usando o método loc.

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

## Apply chained assignment with CoW using 'loc'
df.loc[df["bar"] > 5, "foo"] = 100

## Print the DataFrame
print(df)

Resumo

Neste laboratório, você aprendeu sobre o conceito de Copy-On-Write (CoW) e como implementá-lo em Python Pandas. Você também entendeu como CoW afeta a modificação de dados e como funciona com atribuição encadeada. Ao usar CoW, você pode otimizar seu código para melhor desempenho e uso de memória.