Pandas Copy-On-Write Implementierungsleitfaden

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Lab bietet einen Schritt-für-Schritt Leitfaden zum Verständnis und Implementieren des Copy-On-Write (CoW)-Konzepts in Python Pandas. CoW ist eine Optimierungsstrategie, die die Leistung und den Arbeitsspeicherbedarf verbessert, indem Kopien so lange wie möglich verzögert werden. Es hilft auch, versehentliche Änderungen mehrerer Objekte zu vermeiden.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Aktivieren von Copy-On-Write

Zunächst aktivieren wir CoW in pandas. Dies kann mit der copy_on_write-Konfigurationsoption in pandas erreicht werden. Hier sind zwei Möglichkeiten, CoW global zu aktivieren.

## Importieren der pandas- und numpy-Bibliotheken
import pandas as pd

## CoW mit set_option aktivieren
pd.set_option("mode.copy_on_write", True)

## Oder mit direkter Zuweisung
pd.options.mode.copy_on_write = True

Das Verständnis von Copy-On-Write mit DataFrame

Jetzt erstellen wir ein DataFrame und sehen, wie Copy-On-Write die Datenmodifikation beeinflusst.

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

## Erstellen eines Teils des DataFrames
subset = df["foo"]

## Ändern des Teils
subset.iloc[0] = 100

## Ausgabe des ursprünglichen DataFrames
print(df)

Implementieren von Copy-On-Write mit DataFrame

Jetzt sehen wir uns an, wie man Copy-On-Write beim Ändern eines DataFrames implementiert.

## Aktivieren von Copy-On-Write
pd.options.mode.copy_on_write = True

## Erstellen eines Teils des DataFrames
subset = df["foo"]

## Ändern des Teils
subset.iloc[0] = 100

## Ausgabe des ursprünglichen DataFrames
print(df)

Das Verständnis von verketteter Zuweisung mit Copy-On-Write

Jetzt verstehen wir, wie die verkettete Zuweisung mit Copy-On-Write funktioniert.

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

## Anwenden der verketteten Zuweisung, die die Copy-On-Write-Prinzipien verletzen würde
df["foo"][df["bar"] > 5] = 100

## Ausgabe des DataFrames
print(df)

Implementieren von verketteter Zuweisung mit Copy-On-Write

Schließlich sehen wir uns an, wie man die verkettete Zuweisung mit Copy-On-Write mit der loc-Methode implementiert.

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

## Anwenden der verketteten Zuweisung mit Copy-On-Write mit 'loc'
df.loc[df["bar"] > 5, "foo"] = 100

## Ausgabe des DataFrames
print(df)

Zusammenfassung

In diesem Lab haben Sie das Konzept von Copy-On-Write (CoW) kennengelernt und erfahren, wie es in Python Pandas implementiert wird. Sie haben auch verstanden, wie CoW die Datenmodifikation beeinflusst und wie es mit verketteter Zuweisung funktioniert. Durch die Verwendung von CoW können Sie Ihren Code für eine bessere Leistung und einen effizienteren Arbeitsspeicherbedarf optimieren.