Pandas 意外检查布尔值 return True 而不是 False
Pandas boolean check unexpectedly return True instead of False
我在玩 Pandas。然后我遇到了这样的事情。这是我的代码
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
并且此代码 returned True。但我预计它会 return False 因为 x = obj2['California']。为什么我先写obj2['California']时不等于obj2['California']?
看看 x
和 obj2['California']
指的是什么:
>>> x
nan
>>> obj2['California']
nan
nan
不等于任何东西,甚至不等于它自己。
请注意 x is obj2['California']
也是 False
,因为看起来 obj2['California']
returns 每次都是 numpy.float64
的新实例(在我的机器上)它被使用了。
我在玩 Pandas。然后我遇到了这样的事情。这是我的代码
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
并且此代码 returned True。但我预计它会 return False 因为 x = obj2['California']。为什么我先写obj2['California']时不等于obj2['California']?
看看 x
和 obj2['California']
指的是什么:
>>> x
nan
>>> obj2['California']
nan
nan
不等于任何东西,甚至不等于它自己。
请注意 x is obj2['California']
也是 False
,因为看起来 obj2['California']
returns 每次都是 numpy.float64
的新实例(在我的机器上)它被使用了。