首页 > 解决方案 > Pandas 布尔检查意外返回 True 而不是 False

问题描述

我在玩熊猫。然后我遇到了这样的事情。这是我的代码

import pandas as pd
sdata = {'Ohio': 35000, 'Texas':7100}
states = {'California', 'Ohio', 'Oregon'}
obj2 = pd.Series(sdata, index = states)
x = obj2['California']

然后我写了这个

obj2['California'] != x

这段代码返回True。但我希望它返回False因为x = obj2['California']。为什么我先写 obj2['California']不等于obj2[' California']?

标签: pythonpandasbooleanseries

解决方案


查看两者xobj2['California']参考:

>>> x
nan
>>> obj2['California']
nan

nan不等于任何东西,甚至它自己。

请注意,x is obj2['California']False似乎在每次使用时都会obj2['California']返回一个新实例(在我的机器上)。numpy.float64


推荐阅读