2015-05-03 31 views
8

Gibt es eine Möglichkeit, Duplikate (mit drop_duplicates speziell) in einem Pandas-Dataframe mit etwa 10 Spalten und 400.000 Zeilen zu löschen? Das heißt, ich möchte, dass alle Zeilen, die zwei Spalten enthalten, eine Bedingung erfüllen: Wenn die Kombination aus Datum (Spalte) und Speicher (Spalte) # eindeutig ist, behalten Sie die Zeile, andernfalls, ab.Bedingtes Entfernen von Duplikaten pandas python

+0

Was haben Sie versucht? Es gibt die letzten handlichen 'if'-Anweisungen, aber dann kann das ein bisschen unordentlich werden. Haben Sie in der Dokumentation eine Methode dafür? – Zizouz212

+0

Es ist immer hilfreich, Beispieldaten und erwartete Ausgaben zu veröffentlichen. – Zero

+0

Ja, ich versuche herauszufinden, wie man einige Beispieldaten posten kann. –

Antwort

6

Verwenden drop_duplicates Datenrahmen mit doppelten Zeilen entfernt zurückzukehren, wahlweise nur bestimmte Spalten

Lassen anfängliche Datenrahmen wie

In [34]: df 
Out[34]: 
    Col1 Col2 Col3 
0 A B 10 
1 A B 20 
2 A C 20 
3 C B 20 
4 A B 20 

eine Überlegung Wenn Sie einzigartige Kombinationen aus bestimmten Spalten 'Col1', 'Col2'

In [35]: df.drop_duplicates(['Col1', 'Col2']) 
Out[35]: 
    Col1 Col2 Col3 
0 A B 10 
2 A C 20 
3 C B 20 
nehmen wollen

Wenn Sie eindeutige Kombinationen aller Spalten

nehmen möchten
In [36]: df.drop_duplicates() 
Out[36]: 
    Col1 Col2 Col3 
0 A B 10 
1 A B 20 
2 A C 20 
3 C B 20 
+0

Danke. Ich denke, du warst in der Lage, etwas Verwirrung über die Combos zu klären. –

+0

@Morgan Sacco: Wenn diese Antwort gut für Sie ist, sollten Sie es als akzeptiert markieren. – ssoler

Verwandte Themen