我有一个验证数据集,其中包含标有“ nan”值的基本事实。
预期的基本事实是返回一个String,但是当从数据中检测不到任何内容时,将返回np.nan。
我现在正在做的是将熊猫的预测值np.nan替换为“ nan”,然后将其与地面真实情况的“ nan”进行比较,因此我知道我的算法可以正确预测。
是否存在更好的比较/处理nan值的方法?
答案 0 :(得分:0)
听起来像是遇到了np.nan
!= np.nan
问题。通常,您可以使用df.equals
来解决此问题:
In [323]: df1 = pd.DataFrame([[np.nan, 1, 2], [2, 3, 4]])
In [324]: df1
Out[324]:
0 1 2
0 NaN 1 2
1 2.0 3 4
In [325]: df2 = df1
In [326]: df1 == df2
Out[326]:
0 1 2
0 False True True
1 True True True
In [327]: df1.equals(df2)
Out[327]: True
In [328]: df1[0].equals(df2[0])
Out[328]: True