Ich habe einen Datenrahmen mit Duplikaten und Aktualisierungsdaten. Startdatum: Deduplizierung eines Pandas-Datenrahmens und Aufnahme des neuesten Datensatzes
Was ich suche ist eine Möglichkeit, Duplikate zu entfernen und den neuesten Datensatz zu nehmen. Ich weiß über drop_duplicates(), aber das löscht nur die Zeilen, die 100% identisch sind. So würde die gewünschte Ausgabe wie folgt aussehen:
Ich habe versucht, Dinge wie diese:
grouped = df.groupby(['First Name', 'Middle Name','Last Name','Job Title','Active','Contractor'])
new_data = grouped['Update Date'].agg(np.max).to_frame().reset_index()
Aber es muss sein, einen besseren Weg, dies zu tun, als dann durch jede Spalte Gruppieren der max von der Einnahme Neues Datum. Was wäre, wenn ich nach bestimmten Spalten gruppieren und das maximale Aktualisierungsdatum nehmen möchte. ABER nehmen Sie auch die anderen Spalten, die nicht gruppiert wurden.
Zum Beispiel Gruppierung von First, Middle und Nachname und immer noch die gesamte Aufzeichnung des neuesten Datensatzes.
Danke!
Es könnte am besten sein, um einen Schlüssel zu haben, die eindeutig jede Person identifiziert. Ich gehe hier davon aus, dass die erste, mittlere und letzte Person die Person eindeutig identifizieren. Was passiert, wenn zwei Personen den gleichen Namen haben oder jemand einen Namenswechsel hat? Sie müssen zuerst über diese Dinge nachdenken. –
So oder so würde ich einen Weg finden müssen, um den neusten Datensatz zu gruppieren und zu übernehmen – Zander
Für zukünftige Referenz erhalten Sie schnellere Antworten, wenn Sie eine Codeversion Ihres Datenrahmens ('df = ....') angeben, damit wir kopieren können -füge es ein. Die Bilder sehen hübsch aus, helfen aber nicht dabei, einen Datenrahmen wie den Ihren zu erstellen. – chthonicdaemon