Python 包含所有值NaN的列的字符串

Python 包含所有值NaN的列的字符串,python,pandas,Python,Pandas,我将通过读取PDF文件生成一个数据帧。读取文件时,其中一列可能只包含NaN值 我需要在all列中搜索字符串,但在包含所有NaN的列上运行str.contains会导致AttributeError:只能使用带字符串值的.str访问器 下面的代码导致错误。不过,将其中一个NaN值更改为字符串,它就可以工作了。我该怎么做 d = {'col': [np.nan, np.nan, np.nan, np.nan, np.nan]} df = pd.DataFrame(data=d) df['col'].s

我将通过读取PDF文件生成一个数据帧。读取文件时,其中一列可能只包含NaN值

我需要在all列中搜索字符串,但在包含所有NaN的列上运行str.contains会导致
AttributeError:只能使用带字符串值的.str访问器

下面的代码导致错误。不过,将其中一个NaN值更改为字符串,它就可以工作了。我该怎么做

d = {'col': [np.nan, np.nan, np.nan, np.nan, np.nan]}
df = pd.DataFrame(data=d)
df['col'].str.contains('Total Due This Invoice - USD', na=False)

一种方法是将缺少的值替换为一些不匹配的字符串值,例如,此处为空字符串:

m = df['col'].fillna('').str.contains('Total Due This Invoice - USD')
print (m)
0    False
1    False
2    False
3    False
4    False
Name: col, dtype: bool