Pandas vergleichen zwei DataFrames -Zeile nach Zeile

Pandas vergleichen zwei DataFrames -Zeile nach Zeile
Ein Datenrahmen ist eine zweidimensionale Struktur aus Zeilen und Spalten, in denen Daten in einem tabellarischen Format aufbewahrt werden. Es ist in Bezug auf Länge und verschiedene tabellarische Daten flexibel. Arithmetische Berechnungen können sowohl in der Zeile als auch in Spaltenbezeichnungen durchgeführt werden. Beim Umgang mit PANDAS -Datenframes müssen Sie möglicherweise feststellen, ob zwei Datenrahmen äquivalent sind oder nicht.

Pand als Vergleichsmethode

In Pandas zeigt die Vergleichsmethode die Varianzen zwischen zwei Datenrahmen an. Diese Methode vergleicht zwei Datenrahmen, Zeilen-für-Reihen- und Spalten-MOT-Säulen. Anschließend werden die Unterschiede nebeneinander angezeigt. Die Kompare -Funktion kann nur Datenrahmen einer ähnlichen Struktur mit denselben Zeilen- und Spaltennamen und gleichen Größen vergleichen.

Es folgt der folgenden Syntax:

Lassen Sie uns kurz die Parameter diskutieren.

Der "DF_2" ist ein Datenrahmen zum Vergleich. Der "Align_axis" Gibt die Vergleichsachsen mit 0 für Zeilen und 1 für Spalten als Standardwert an. Der "Keep_shape" Parameter ist ein boolescher Wert. Wenn Sie dies auf „wahr“ setzen, verbietet es jede Zeile oder Spalte, beseitigt zu werden. Für den Standardwert "False" vergleichen Sie Tropfenspalten und Zeilen mit allen Attributen, die für die beiden Datenrahmen gleich sind. Ein weiteres boolescher Argument ist "Keep_equal". Die beiden Datenrahmen zeigen gleiche Werte an. Wenn dies auf „True“ eingestellt ist, werden die Positionen für die beiden Datenrahmen mit den identischen Werten als NAN für die Standardeinstellung „Falsch“ angezeigt.

Beispiel: Verwendung von Pandas -Vergleichsmethoden

Wir haben hier das "Spyder" -Tool genutzt. Öffnen Sie eine neue Python -Datei im Tool "Spyder". Wir müssen „Pandas als PD importieren“, um auf Pandas -Funktionen zuzugreifen. Es ist äußerst wichtig zu beachten, dass die Pandas -Ausgaben 1 sein müssen.1.0 oder höher. Wir haben dann unseren ersten Datenrahmen erstellt, indem wir die Pandas -Methode „PD verwenden“ verwendet haben.DataFrame () ”und speicherte diesen Datenrahmen in einer Variablen„ First_table “.

Wir haben diesen Datenrahmen mit drei Spalten „Produkt“, „Preis“ und „Menge“ initialisiert. Jede Spalte speichert die gleiche Wertelänge, die fünf beträgt. Das erste Spaltenprodukt des DataFrame „First_table“ speichert fünf Stringwerte, die "Acryl", "Leinwand", "Stifte", "Notizbücher" und "Pinsel" sind. Unsere zweite Spalte „Preis“ speichert 5 INT -Werte, die „260“, „100“, „25“, „350“ und „200“ sind. Die letzte Spalte hier ist "Menge" und speichert auch int -Werte, die "1", "2", "5", "3" und "6" sind. In der letzten Zeile des Skripts haben wir die Funktion „print ()“ verwendet, um unseren ersten Datenrahmen anzuzeigen.

Wenn Sie die Schaltfläche "Datei ausführen" drücken oder die Tasten "SHIFT+ENTER" "SHIFT+ENTER" auf der Tastatur "Spyder" verwenden. Die Python -Datei wird ausgeführt. Die auf dem Terminal angezeigte Ausgabe zeigt einen Datenrahmen mit 3 Spalten, die erfolgreich erstellt werden.

Es muss zwei Datenrahmen geben, um sie zu vergleichen. Wir haben bereits unseren ersten DataFrame "First_table" erstellt. Jetzt müssen wir den zweiten Datenrahmen generieren. Bevor wir den zweiten Datenrahmen erstellen, müssen wir uns auf einige Einschränkungen berücksichtigen, die wir in der Einführung erwähnt haben. Beide Datenrahmen sollten die gleichen Spaltennamen, exakte Formen und gleiche Länge haben. Nur dann können wir die Vergleichsmethode anwenden.

Für die Generierung des zweiten Datenrahmens haben wir die Erste Datenfreame „First_table“ mit einigen Änderungen kopiert. Wir haben einen "Second_table" -Datenrahmen erstellt und es die Ausgabe des Aufrufens des "DataFrame" zugewiesen.Copy () ”Methode. Der ".copy () ”kopiert die Tabellenstruktur des Datenrahmens„ First_table “. Wir möchten die Form kopieren, müssen jedoch einige Werte im neuen Datenrahmen ändern, damit wir die “verwenden.loc ”Eigenschaft hier. Diese Eigenschaft gibt den Ort an, an dem Sie einen Mehrwert schaffen möchten. Es funktioniert mit "Second_table" New DataFrame -Namen mit ".loc [0, 'preis'] = 300 ”. Somit wird im "0" -Index der Spalte "Preis" im Datenrahmen "Second_table" den Wert "300" platziert.

Am Indexstandort "1" der Spalte "Preis" wird der Wert "120" platziert. Der Index -LOC „2“ der Spalte „Preis“ speichert den Wert „20“. Und die verbleibenden zwei Werte würden wie aus der Spalte "First_table" "Preis" kopiert werden. In ähnlicher Weise wird der Wert an der Index -LOC „0“ der Spalte „Menge“ auf "2" modifiziert. Die LOC "1" der Spalte "Menge" hat einen Wert "3". Die Spalte "2" der "Menge" hat den Wert "6" festgelegt. Der Rest der Werte wird aus der Spalte „First_table“ so wie sie ist, kopiert. Wir haben dann die Funktion „print ()“ verwendet, um den zweiten Datenrahmen am Terminal zu zeigen.

Wenn die Ausgabe angezeigt wird, können Sie beobachten, dass das "Second_table" alle Spalten wie "First_table" enthält. Die modifizierten Werte der Spalten „Preis“ und „Menge“ werden erfolgreich in den bereitgestellten Standorten implementiert.

Hier beginnt die Hauptaufgabe. Wir müssen jetzt beide Datenrahmen vergleichen. Dafür werden wir Pandas „DataFrame verwenden.Compare () ”Methode.

Wir haben den „DataFrame" aufgerufen.Compare () ”Methode. Es folgt der Syntax als Name des First DataFrame "First_table" mit dem ".vergleichen () “und zwischen den Klammern der“.Compare () ”Methode. Geben Sie den Namen des zweiten Datenrahmens "Second_table" an. Wir haben eine Variable „Vergleich“ erstellt, um den resultierenden Datenrahmen zu speichern, der aus dem Vergleich von „First_table“ und „Second_table“ generiert wurde, und "Second_table". Zuletzt wird die Methode „Print ()“ mit der Variablen „Vergleich“ als Parameter zur Anzeige des resultierenden Datenrahmens aufgerufen.

Hier ist der Ausgangsdatenrahmen mit dem Vergleich der unterschiedlichen Werte der beiden DataFrames. Standardmäßig fallen die gleichen Werte ab. Der Vergleich erfolgt die Spalten- und Standardeinstellungen.

Wenn wir nun eine Vergleichszeile zeichnen wollen, müssen wir den Parameter "Align-Achse" -Wert ändern. Sein Standardwert ist „1“, der eine Vergleichsspalte zeichnet. Wir haben die "align_axis = 0" festgelegt, sodass die Tabellenzeilen nacheinander von sich selbst und anderen gezogen werden. Wir haben dann die Funktion „print ()“ bezeichnet, um das Ergebnis anzuzeigen.

Das folgende Ausgangsbild zeigt einen Datenframe.

Verwenden Sie die “.Vergleiche () “Methodenargumente„ Halten Sie Form “, um alle Einträge in der Tabelle" Vergleich "anzuzeigen. Standardmäßig ist "keep_shape" auf "false" gesetzt. Wenn „wahr“, sind alle Zeilen und Spalten in der Tabelle enthalten; Ansonsten werden nur diejenigen mit unterschiedlichen Werten aufbewahrt.

Sie können sehen, dass die Ausgabe alle Spalten und Zeilen zeigt, aber die gleichen Werte werden hier als „Nan“ angezeigt, und bestimmte Werte werden so aufbewahrt, wie sie sind.

Wenn Sie jetzt alle Werte anzeigen möchten, ohne als „NANS“ gedruckt zu werden. Wenn „keep_equal“ auf „true“ eingestellt ist, enthält die Ausgabe auch gleiche Werte. Gleiche Werte werden ansonsten als "Nans" angezeigt. Die Standardeinstellung dieses Parameters ist „falsch.”

Die auf dem Terminal angezeigte Ausgabe zeigt einen Datenrahmen mit einem zeilenweise gezeichneten Vergleich aller Werte von zwei Datenrahmen, die die gleichen und unterschiedlichen Werte halten.

Abschluss

In diesem Leitfaden haben wir die Vergleichstechnik von Pandas zum Vergleich von zwei Datenrahmen erörtert. Wir haben die Syntax von Pandas erklärt “.Compare () ”-Funktion und alle Parameter. Mit dem Tool „Spyder“ haben wir die Beispielcodes in Python implementiert und ausgearbeitet.