我想查找包含字符串的行,如下所示:
DF[DF.col.str.contains(“foo”)]
但是,这会失败,因为某些元素是NaN:
ValueError:无法使用包含NA/NaN值的向量进行索引
所以我求助于模糊的
DF[DF.col.notnull()][DF.col.dropna().str.contains(“foo”)]
有更好的办法吗
这里有一面旗帜:
[11]on
:df=pd.DataFrame([[“foo1”]、[“foo2”]、[“bar”]、[np.nan]],列=['a'])
At[12]on:df.a.str.contains(“foo”)
Output[12]:
0对
1正确
2错误
3南
名称:a,数据类型:对象
At[13]on:df.a.str.contains(“foo”,na=False)
Output[13]:
0对
1正确
2错误
3错误
姓名:a,数据类型:bool
请参阅str.replace文档:
na:默认NaN,为缺少的值填充值
因此,您可以执行以下操作:
[21]on
:df.loc[df.a.str.contains(“foo”,na=False)]
Output[21]:
A.
0 foo1
1食物2