Ich habe meine Frage aktualisiert, um ein klareres Beispiel zu geben.Pandas drop_duplicates - TypeError: Typ Objekt Argument nach * muss eine Sequenz sein, nicht Karte
Ist es möglich, die Methode drop_duplicates in Pandas zu verwenden, um doppelte Zeilen basierend auf einer Spalten-ID zu entfernen, in der die Werte eine Liste enthalten. Berücksichtigen Sie die Spalte "drei", die aus zwei Elementen in einer Liste besteht. Gibt es eine Möglichkeit, die doppelten Zeilen zu löschen, anstatt es iterativ zu tun (was meine aktuelle Problemumgehung ist).
Ich habe mein Problem umrissen durch das folgende Beispiel bereitgestellt:
import pandas as pd
data = [
{'one': 50, 'two': '5:00', 'three': 'february'},
{'one': 25, 'two': '6:00', 'three': ['february', 'january']},
{'one': 25, 'two': '6:00', 'three': ['february', 'january']},
{'one': 25, 'two': '6:00', 'three': ['february', 'january']},
{'one': 90, 'two': '9:00', 'three': 'january'}
]
df = pd.DataFrame(data)
print(df)
one three two
0 50 february 5:00
1 25 [february, january] 6:00
2 25 [february, january] 6:00
3 25 [february, january] 6:00
4 90 january 9:00
df.drop_duplicates(['three'])
Ergebnisse in dem folgenden Fehler:
TypeError: type object argument after * must be a sequence, not map
Sie 'df_two = df_one.drop_duplicates ('ID')' oder 'speziell df_two = df_one.drop_duplicates (Teilmenge = [ 'ID'])' – EdChum
Angst, dass das Problem nicht gelöst hat. immer noch den gleichen Fehler sehen – user3939059
also 'df_two = df_one.drop_duplicates()' Arbeit? – EdChum