2017-08-23 3 views
0

Ich habe einen sehr großen Datenrahmen. Wenn ich laufen: df=df.drop_duplicates() bekomme ich folgende Fehlermeldung:Python/Pandas - drop_duplicates ValueError

ValueError: Buffer has wrong number of dimensions (expected 1, got 2) 

Wenn ich ein df.loc[:10].drop_duplicates() es bereits Bugs

laufen

Weiß jemand, was das verursachen kann?

            Razao_social Razao_social \ 
business_id                  

17            MULTIGRAIN S.A.  Sao Paulo 
17            MULTIGRAIN S.A.  Sao Paulo 
17            MULTIGRAIN S.A.  Sao Paulo 
17            MULTIGRAIN S.A.  Sao Paulo 
17            MULTIGRAIN S.A.  Sao Paulo 
17            MULTIGRAIN S.A.  Sao Paulo 
38   BRASILAGRO - COMPANHIA BRASILEIRA DE PROPRIEDA...  Sao Paulo 
38   BRASILAGRO - COMPANHIA BRASILEIRA DE PROPRIEDA...  Sao Paulo 
71         SECURITAS GARANTIAS S.A.  Sao Paulo 
71         SECURITAS GARANTIAS S.A.  Sao Paulo 
71         SECURITAS GARANTIAS S.A.  Sao Paulo 
71         SECURITAS GARANTIAS S.A.  Sao Paulo 
+1

Können Sie dies mit einer kleineren Teilmenge von Daten reproduzieren. – piRSquared

+1

Da wir keine Teilmenge der Daten haben, lesen Sie diesen Beitrag und sehen Sie, ob es hilft: https://stackoverflow.com/questions/35888189/droup-duplicate-in-multiindex-dataframe-in-pandas – Vico

Antwort

0

Ohne mehr über die Datenrahmen zu wissen, werde ich einige allgemeine Gedanken geben:

EDIT

Die Datenrahmen wie folgt aussieht - es gab in Pandas ein bekannter Fehler 0.18 (https://github.com/pandas-dev/pandas/issues/13393), die einen Pufferwertfehler mit MultiIndexes verursachte, die einen Datetime64-Datentyp enthielten. Ist eine Ihrer Spalten dieses Typs? - Hat eine Ihrer Spalten doppelte Namen? Ich weiß, dass das nicht passieren soll, aber es tut es. - Müssen Sie in allen Spalten nach Duplikaten suchen oder genügt eine Teilmenge von Spalten? Verwenden Sie die Option subset = im Methodenaufruf.

Die Antwort von Vico kann hilfreich sein, aber bei einem sehr großen Datenframe kann eine Transponierung sowohl des ursprünglichen Datenrahmens als auch des Datenrahmens mit gelöschten Duplikaten mehr Ressourcen umfassen, als zugewiesen werden können.

+1

Die Problem waren die doppelten Spaltennamen! Danke für die Beratung! – abutremutante

Verwandte Themen