如何检查 <NA> 类型变量是否是来自 pandas 数据帧的 <NA> ?np.nan() 不工作

Ric*_*ois 7 python nan dataframe pandas

我有一个数据框,其中有一列,其值类似于:

     YEAR_TORONTO
0    <NA>
1    2016
2    <NA>
3    1999
Run Code Online (Sandbox Code Playgroud)

由于此代码段之外的其他原因,我需要通过循环单独检查此数据帧的每个元素for,因此我正在寻找符合我的实现的解决方案。

基本上我现在检查是否存在的代码是:

if np.isnan(df.get("YEAR_TORONTO")[row]):
Run Code Online (Sandbox Code Playgroud)

这导致我收到以下值错误<NA>

boolean value of NA is ambiguous
Run Code Online (Sandbox Code Playgroud)

知道我可以做什么来修复这个错误吗?非常感谢帮助

小智 7

正如 sammywemmy 所说,pd.isna()应该有效。

>>> d = pd.Series([1,2,pd.NA,3])
>>> d
0       1
1       2
2    <NA>
3       3
dtype: object
>>> d.isna()
0    False
1    False
2     True
3    False
dtype: bool
Run Code Online (Sandbox Code Playgroud)