Je veux trouver des lignes qui contiennent une chaîne, comme ceci:
DF[DF.col.str.contains("foo")]
Cependant, cela échoue car certains éléments sont NaN:
ValueError: impossible d'indexer avec un vecteur contenant des valeurs NA / NaN
Alors je recourt à l'obscurcissement
DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")]
Y a-t-il un meilleur moyen?
aétait rempli à partir d'un CSV, et laacolonne contenait la chaîne "nan".pandas"intelligemment" converti cela enNaNet commencé à me plaindre quand j'ai essayé de le fairedf.a.str.contains(). Alors oui protip: assurez-vous de définir le type de colonneread_csv()ou ensuite faites quelque chose commedf = df.where(pandas.notnull(df), "nan")LOL