Chcę znaleźć wiersze zawierające ciąg, na przykład:
DF[DF.col.str.contains("foo")]
Jednak to się nie udaje, ponieważ niektóre elementy są NaN:
Błąd wartości: nie można indeksować wektorem zawierającym wartości NA / NaN
Więc uciekam się do zaciemnionego
DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")]
Czy jest lepszy sposób?
a
został wypełniony z pliku CSV, aa
kolumna zawierała ciąg „nan”.pandas
„inteligentnie” przekonwertował to naNaN
i zacząłem narzekać, kiedy próbowałem to zrobićdf.a.str.contains()
. Więc tak, protip: upewnij się, że ustawiłeś typ kolumnyread_csv()
lub później zrób coś takiego jakdf = df.where(pandas.notnull(df), "nan")
LOL