【发布时间】:2019-02-25 10:17:03
【问题描述】:
在 Python Pandas 和 Numpy 中,为什么比较结果不同?
from pandas import Series
from numpy import NaN
NaN 不等于NaN
>>> NaN == NaN
False
但NaN 在列表或元组中是
>>> [NaN] == [NaN], (NaN,) == (NaN,)
(True, True)
虽然Series 和NaN 再次不相等:
>>> Series([NaN]) == Series([NaN])
0 False
dtype: bool
还有None:
>>> None == None, [None] == [None]
(True, True)
虽然
>>> Series([None]) == Series([None])
0 False
dtype: bool
This answer 解释了NaN == NaN 一般为False 的原因,但没有解释其在 python/pandas 集合中的行为。
【问题讨论】:
-
我不认为链接的帖子给出了与 python 集合中
np.NaN的内部工作相关的答案。如果是NaN!=NaN,为什么要在python中使用[NaN]==[NaN]?
标签: python python-3.x pandas nan nonetype