我对numpy.where
命令的None
值的行为感到困惑 - 它似乎没有返回正确的索引
没有和"不是没有"值:
>>> import numpy as np
>>> a = np.array([None, 1])
# The following works as expected
>>> a[0]==None
True
>>> a[0]!=None
False
>>> np.where(a)
(array([1]),)
# What's going on here? None of the output seems correct here
>>> np.where(a != None)
(array([0]),)
>>> np.where(a == None)
(array([], dtype=int32),)
这是故意还是错误?如何使用numpy.where查找等于None
的索引?
我知道this这个问题,讨论了使用蒙面数组将numpy与具有NoneType值的数组一起使用,但我的问题是关于numpy.where。
Python:2.7 Numpy:1.6.1