Python 中不同类型的“nan”

问题描述

在以下示例中,我在 Python 中创建了四种类型的“nan”。 df 中的 a 是我从 .txt 文件加载的数据框,其中一个缺失值位于 [2,2]。

a = df.iloc[2,2]
b = pd.NA
c = np.nan
d = float('nan')

首先,我看了一下这四个值:

a
Out[122]: nan
b
Out[123]: <NA>
c
Out[124]: nan
d
Out[125]: nan

看起来 a、c 和 d 是相等的 nan 值,我决定检查它们的类型:

type(a)
Out[116]: numpy.float64
type(b)
Out[117]: pandas._libs.missing.NAType
type(c)
Out[118]: float
type(d)
Out[119]: float

我想检查它们在某种意义上是否相等:

c == d
Out[120]: False
a == d
Out[121]: False
a == c
Out[126]: False

我的问题是:

[1] 为什么 c 和 d 不相等?

[2] 有没有办法把 float('nan') 转换成 np.nan?

[3] 有没有办法把 a 转换成 np.nan?

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)