【问题标题】:Pandas boolean check unexpectedly return True instead of FalsePandas 布尔检查意外返回 True 而不是 False
【发布时间】:2021-02-14 00:00:58
【问题描述】:

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

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']

【问题讨论】:

    标签: python pandas boolean series


    【解决方案1】:

    看看xobj2['California']指的是什么:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 2016-03-23
      • 2014-04-24
      相关资源
      最近更新 更多