Datenrahmen vergleichen: Zeilen finden, die in einem, aber nicht im anderen vorhanden sind
Der Vergleich von Datenrahmen zur Identifizierung von Unterschieden ist für die Qualitätssicherung und Zusammenführung von Daten von entscheidender Bedeutung Operationen. In diesem Fall haben wir zwei Datenrahmen (df1 und df2) mit einer bestimmten Struktur und müssen die in df2, aber nicht in df1 vorhandenen Zeilen ermitteln.
Zunächst führten Versuche, Datenrahmen mit df1 != df2 zu vergleichen, zu ein Fehler. Dieser Ansatz funktioniert nur für Datenrahmen mit identischen Zeilen und Spalten. Um symmetrische Unterschiede zu finden, benötigen wir einen anderen Ansatz.
Eine Methode besteht darin, die Datenrahmen zu verketten:
df = pd.concat([df1, df2]) df = df.reset_index(drop=True)
Dann den verketteten Datenrahmen nach allen Spalten gruppieren:
df_gpby = df.groupby(list(df.columns))
Als nächstes identifizieren wir die eindeutigen Datensätze, indem wir die Indexwerte für nur eine Zeile ermitteln existiert:
idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
Mit diesen Indizes können wir den Datenrahmen filtern nach Erhalten Sie das gewünschte Ergebnis:
df.reindex(idx)
Dieser Ansatz stellt die in df2 vorhandenen Zeilen bereit fehlt in df1 basierend auf dem Vergleich des Datumsindex und der Fruchtspalte.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3