微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python 中不同类型的“nan”

如何解决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 举报,一经查实,本站将立刻删除。