2017-02-14 4 views
1

Ich rufe diese Zeile:Attribute: ‚schweben‘ Objekt hat kein Attribut ‚split‘

lang_modifiers = [keyw.strip() for keyw in row["language_modifiers"].split("|") if not isinstance(row["language_modifiers"], float)] 

Dies scheint zu arbeiten, wo row["language_modifiers"] ein Wort (atlas method, central), aber nicht, wenn es darum geht, sich als nan.

Ich dachte, meine if not isinstance(row["language_modifiers"], float) könnte die Zeit fangen, wenn Dinge wie nan auftauchen, aber nicht der Fall.

Hintergrund: row["language_modifiers"] ist eine Zelle in einer TSV-Datei und wird als nan angezeigt, wenn diese Zelle in der TSV, die analysiert wird, leer war.

+0

Warum wurde dies abgelehnt? Nur damit ich es weiß. Sie können die drei Testfälle testen, die ich in die Frage einbeziehe. –

Antwort

6

Sie haben Recht, solche Fehler meist durch NaN verursacht leere Zellen darstellen. Es ist üblich, solche Daten zu filtern, bevor Sie Ihre weiteren Operationen anwenden, indem Sie dieses Idiom auf Ihrem Dataframe df verwenden. df_new = df[df['ColumnName'].notnull()]

Verwandte Themen