Den Unterschied zwischen zwei Datenrahmen finden
Bei der Datenanalyse ist die Identifizierung der Diskrepanzen zwischen Datensätzen von entscheidender Bedeutung. Angenommen, Sie haben zwei Datenrahmen, df1 und df2, wobei df2 eine Teilmenge von df1 ist. Um die eindeutigen Zeilen und Spalten, die in df1, aber nicht in df2 vorhanden sind, effizient abzurufen, können Sie das Konzept der Mengendifferenz nutzen.
Ansatz: Verwendung von pd.concat und drop_duplicates**
Der primäre Ansatz besteht darin, beide Datenrahmen mithilfe von pd.concat zu kombinieren und anschließend doppelte Zeilen oder Spalten zu entfernen mit drop_duplicates. Durch die Einstellung keep=False wird sichergestellt, dass nur die Zeilen oder Spalten beibehalten werden, die ausschließlich in df1 vorhanden sind.
df3 = pd.concat([df1, df2]).drop_duplicates(keep=False)
Vorbehalt: Umgang mit Duplikaten
Dies ist jedoch der Fall Die Methode geht davon aus, dass beide Datenrahmen selbst keine doppelten Werte enthalten. Wenn dies der Fall ist, kann das Ergebnis ungenau sein. Um dieses Problem anzugehen, können wir die folgenden alternativen Ansätze anwenden:
Methode 1: Verwendung von isin mit Tuple
Diese Methode beinhaltet die Konvertierung jeder Zeile in ein Tupel mit df.apply(tuple, 1) und dann mit df.apply(tuple, 1) prüfen, ob die Tupel in df2 vorhanden sind 1).isin(df2.apply(tuple, 1)). Der resultierende Datenrahmen enthält die eindeutigen Zeilen von df1, die nicht in df2 enthalten sind.
df1[~df1.apply(tuple, 1).isin(df2.apply(tuple, 1))]
Methode 2: Zusammenführen mit Indikator
Ein anderer Ansatz besteht darin, df1 mit zusammenzuführen df2 verwendet pd.merge mit einem Indikator, um Zeilen zu identifizieren, die nur in df1 vorhanden sind. Durch den Einsatz der Lambda-Funktion können wir Zeilen herausfiltern, in denen die Spalte „_merge“ nicht gleich „both“ ist.
df1.merge(df2, indicator=True, how='left').loc[lambda x: x['_merge']!='both']
Fazit
Indem wir diese nutzen Mit diesen Techniken können Sie effektiv den Unterschied zwischen zwei Datenrahmen ermitteln und Einblicke in die einzigartigen Datenpunkte gewinnen, die in jedem Datenrahmen vorhanden sind.
Das obige ist der detaillierte Inhalt vonWie kann ich die eindeutigen Zeilen in DataFrame1, die nicht in DataFrame2 sind, effizient finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!