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?
azostał wypełniony z pliku CSV, aakolumna zawierała ciąg „nan”.pandas„inteligentnie” przekonwertował to naNaNi 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