Die beträchtlichsten Datenstrukturen der Pandas Library sind Datenrahmen und Serien. Intern werden diese Datenstrukturen durch Indexarrays definiert, die die Daten und Datenarrays kennzeichnen, die die Originaldaten speichern. Wir können dies tun, indem wir die Pandas „DataFrame verwenden.Copy () ”Methode.
Pandas Copy -Methode
Die Kopiermethode wird zum Kopieren des angegebenen Datenrahmens verwendet. Ein Datenrahmen kann auf zwei Arten kopiert werden: "Deep Copy" und "Shallow Copy". Die Funktion „Deep Copy“ erstellt einen Datenrahmen, der eine Kopie des Inhalts und Indizes des angegebenen Datenframe enthält. Die Methode „Shallow Copy“ generiert einen neuen Datenrahmen, ohne den Inhalt oder die Indizes des Anruferobjekts zu kopieren- nur Hinweise auf den Inhalt und den Index werden kopiert.
Die Syntax für die Kopiermethode lautet wie folgt:
"Deep" ist ein Boolean Argument, das feststellt, ob eine tiefe oder flache Kopie vorgenommen werden soll. "Deep Copy" ist die Standardeinstellung der Methode. Setzen Sie den Parameter "tiefen" Wert auf "false", um ein flaches Kopieren zu ermöglichen.
Schauen wir uns die praktische Demonstration dieser Methode an.
Beispiel: Verwenden Sie Pandas DataFrame.Copy () Methode
Für die Implementierung haben wir das "Spyder" -Tool verwendet. Öffnen Sie eine neue Python -Datei im Tool "Spyder". Die wichtigste Voraussetzung beim Schreiben des Skripts besteht darin, relevante Bibliotheken zu importieren. Da wir eine „Pandas“ -Methode implementieren müssen, verwenden wir "Pandas als PD importieren", um auf die Funktionen von "Pandas" zuzugreifen. Dann beginnen wir unseren Hauptpython -Code.
Wir haben einen Datenrahmen erstellt, indem wir die „PD“ verwenden.DataFrame () ”Methode. Der DataFrame wird durch zwei Spalten "Name" und das "Alter" initialisiert. Die Spalten beider DataFrame -Spalten speichern die gleiche Wertelänge. Die erste Spalte "Name" enthält fünf Stringwerte, die "Charlie", "Bush", "Harry", "Robert" und "Albert" sind. Die zweite Spalte „Alter“ speichert auch fünf Werte mit Int -Datentypen, die „25“, „33“, „18“, „29“ und „20“ sind. Wir haben eine variable „Demo“ erstellt, um den neu konstruierten Datenrahmen darin zu speichern.
Jetzt können wir auf unseren Datenrahmen zugreifen, indem wir diese "Demo" -Variable verwenden. Wir verwenden die Methode "print ()", um den Text "Tatsächlicher Datenrahmen" anzuzeigen. Rufen Sie dann eine andere "print ()" -Methode auf, um den Datenrahmen anzuzeigen.
Drücken Sie die Schaltfläche "Datei ausführen" im Tool "Spyder", um die Ausgabe am Terminal anzuzeigen. Der resultierende Bildschirm zeigt uns einen neu erstellten Datenrahmen mit 2 Spalten und einen Übergang darüber.
Nachdem wir dies erreicht haben, werden wir unsere Hauptaufgabe in Python Code beginnen. Dafür verwenden wir die Pandas „DataFrame.Copy () ”Methode. Wir rufen das auf “.COPY () ”Methode mit dem Namen unseres DataFrame„ Demo “. Da wir eine „tiefe Kopie“ des Datenrahmens erstellen möchten, verwenden wir die Funktion mit ihrem Standardwert, der „Deep = true“ ist. Eine Variable "Demo_Dcopy" wird erstellt, um die Ausgabe des Aufrufens der “zu speichern“.Copy () ”Methode. Wir können jetzt durch die Variable "Demo_Dcopy" auf diese "tiefe Kopie" des tatsächlichen Datenrahmens zugreifen. Wir verwenden die Funktion "print ()", um einen Text "Deep Copy of tatsal DataFrame:" anzuzeigen und Inhalte der Variablen "Demo_Dcopy" zu zeigen.
Wenn wir den oben genannten Code ausführen, werden zwei Datenrahmen auf der Konsole angezeigt. Der erste ist der tatsächliche Datenrahmen, während der andere die „tiefe Kopie“ des tatsächlichen Datenrahmens ist. Wir können sehen, dass alle Inhalte und Indizes des tatsächlichen Datenrahmens in der „tiefen Kopie“ kopiert werden.
Schauen wir uns nun an, was in der "Deep Copy" passiert, wenn wir einige Änderungen im tatsächlichen Datenrahmen vorgenommen haben. Um einige Änderungen vorzunehmen, verwenden wir die Eigenschaft „Iloc“, mit der der angegebene Index lokalisiert wird. Schreiben Sie den Namen des tatsächlichen Datenrahmens „Demo“ mit dem “.Iloc ”und geben Sie den Indexspeicherort fest“ [0, 1] = 3 ", der den ersten Wert der Spalte" Alter "im tatsächlichen Datenrahmen lokalisiert und in" 3 "geändert wird. Wir rufen erneut die Methode „Print ()“ auf, um den tatsächlichen Datenrahmen "Demo" mit Änderungen und die "Deep Copy" des tatsächlichen Datenrahmens "Demo_Dcopy" anzuzeigen, um festzustellen, ob Änderungen darin widerspiegeln oder nicht.
Die Ausgabe auf dem Terminal zeigt uns zwei Datenrahmen, nachdem wir einen Wert im tatsächlichen Datenrahmen geändert haben. Sie können beobachten, dass die tatsächliche DataFrame -Spalte „Alter“ seinen ersten Wert von „25“ auf „3“ verändert hat. Während die „tiefe Kopie“ des tatsächlichen Datenrahmens mit Modifikation keine Änderungen widerspiegelt, was bedeutet, dass Änderungen, die im tatsächlichen Datenrahmen vorgenommen wurden.
Jetzt werden wir untersuchen, was passiert, wenn wir eine „flache Kopie“ des Anfangsdatenrahmens erstellen.
Für diese Abbildung verwenden wir den oben erstellten Datenrahmen. Nach dem Drucken müssen wir jetzt eine flache Kopie des tatsächlichen Datenrahmens erstellen. Wir verwenden die Pandas -Datenframe.Copy () ”Methode wieder so wie wir sie im obigen Beispiel„ Deep Copy “mit einer Ausnahme verwendet haben. Hier ändern wir den Wert der „tiefen“ Eigenschaft in „Falsch“, um eine „flache Kopie“ des tatsächlichen Datenrahmens zu erstellen. Also werden wir es schreiben “Demo.kopieren (tiefen = false) ” . Wir haben eine Variable „Demo_Scopy“ erstellt, um das Ergebnis des Aufrufens der “zu speichern“.Copy () ”-Methode, die eine„ flache Kopie “des tatsächlichen Datenrahmens ist. Anschließend verwendeten wir die Methode "print ()", um den Text "Flacher Kopie des tatsächlichen Datenframe" anzuzeigen und den Inhalt in der Variablen "Demo_Scopy" zu zeigen.
Die Ausgabe zeigt 2 Datenrahmen. Der erste ist der tatsächliche Datenrahmen, während der andere seine „flache Kopie“ ist. Wir können sehen, dass alles vom tatsächlichen Datenrahmen in die „flache Kopie“ kopiert wird.
Wir untersuchen nun, was mit „flacher Kopie“ passieren würde, wenn wir einige Änderungen im tatsächlichen Datenrahmen vornehmen würden. Dafür verwenden wir den „DataFrame.Iloc ”Eigentum. Hier möchten wir, dass die Eigenschaft "ILOC" auf den "3" -Index der Spalte "Alter" im tatsächlichen Datenrahmen zugreift und sie in "-5" ändern kann. Anschließend wird die Funktion „print ()“ aufgerufen, um den Text "Tatsächlicher Datenrahmen nach Änderung" anzuzeigen und auch den tatsächlichen Datenrahmen "Demo" anzuzeigen. Auch hier wird die Methode "print ()" aufgerufen, um den Text "Flacher Kopie von DataFrame nach Änderung" anzuzeigen: den Inhalt der Variablen "Demo_Scopy".
Die Ausgabe zeigt den tatsächlichen Datenrahmen mit einem geänderten Wert „-5“, bei dem die Indexnummer „3“ war. Nachdem wir die Änderungen in der tatsächlichen Datenrahmen „Demo“ vorgenommen haben. Dies bedeutet, dass alle im tatsächlichen Datenrahmen vorgenommenen Änderungen auch in seiner „flachen Kopie“ gespiegelt werden.
Abschluss
Dieses Tutorial ist ein Leitfaden für Sie, um das Konzept und die Idee zu verstehen, eine Kopie eines Datenrahmens zu erstellen. Wir haben Sie in die Pandas „DataFrame“ vorgestellt.Copy () ”Methode. Wir haben Ihnen auch die beiden unterschiedlichen Ansätze zum Kopieren eines Datenframe.