gpt4 book ai didi

python - 使用 str.contains 忽略 NaN

转载 作者:IT老高 更新时间:2023-10-28 21:11:00 26 4
gpt4 key购买 nike

我想查找包含字符串的行,如下所示:

DF[DF.col.str.contains("foo")]

但是,这会失败,因为某些元素是 NaN:

ValueError: cannot index with vector containing NA / NaN values

所以我求助于混淆

DF[DF.col.notnull()][DF.col.dropna().str.contains("foo")]

有没有更好的办法?

最佳答案

有一个标志:

In [11]: df = pd.DataFrame([["foo1"], ["foo2"], ["bar"], [np.nan]], columns=['a'])

In [12]: df.a.str.contains("foo")
Out[12]:
0 True
1 True
2 False
3 NaN
Name: a, dtype: object

In [13]: df.a.str.contains("foo", na=False)
Out[13]:
0 True
1 True
2 False
3 False
Name: a, dtype: bool

str.replace文档:

na : default NaN, fill value for missing values.


因此您可以执行以下操作:

In [21]: df.loc[df.a.str.contains("foo", na=False)]
Out[21]:
a
0 foo1
1 foo2

关于python - 使用 str.contains 忽略 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28311655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com