2016-12-01 17 views
-1

Ich habe zwei Datenrahmen, nennen wir sie A und B. Sie haben genau die gleichen 7 Spalten (nennen wir sie col1, col2, col3, col4, col5, col6 und col7) . Einige der Spalten enthalten client_id, client_first_name, client_last_name, Telefonnummer usw. (Ich kann die genauen Namen für Vertraulichkeitszwecke nicht angeben).Subtrahieren Zeilen von Datenrahmen A aus Datenrahmen B Python Pandas

Datenrahmen A ist viel größer als Datenrahmen B und einige Einträge von Datenrahmen B sind in Datenrahmen A enthalten (d. H. Datenrahmen B ist eine Teilmenge von Datenrahmen A).

Das Problem ist, ich möchte sicherstellen, dass die Datensätze in DataFrame A nicht in Datenrahmen B sind, d. H. Datenrahmen B von Datenrahmen A subtrahieren. Wie mache ich das?

Bisher Ich habe für beide Datenrahmen eine zusätzliche Spalte mit dem Titel ‚Gruppe‘ Hinzufügen von ihnen pd.merge(A, B, how='left', on='col) mit Zusammenführung und dann diejenigen herausziehen, die mit zwei verschiedenen Werten für 'group_x' und 'group_y' (die Zusammenführung erstellt diese beiden endete Gruppen.

gibt es einen einfacheren Weg, es zu tun? ich habe versucht, ein paar Dinge, aber keiner von ihnen arbeitete.

+0

überprüfen Sie diese Abfrage: http://stackoverflow.com/ a/28902170/2027457 – sb0709

Antwort

0

Ja Weg ist in Ordnung, Sie auch so etwas wie dfA.ix[!dfA.col.isin(dbB.col)] tun könnte, wenn Sie nicht brauchen, der zusammengeführte Datenrahmen

Verwandte Themen