我有一个dtype = object的numpy数组,我想创建一个布尔数组来标识哪些元素是None
。但它看起来像None
表现不同......创建一个布尔数组,它将numpy元素与None进行比较
a = np.array(['Duck','Duck','Duck','Goose',None,1,2,3,1,3,None,4])
print a == 'Duck'
print a == 3
print a == None
导致
[ True True True False False False False False False False False False]
[False False False False False False False True False True False False]
False
是否有一个“numpythonic”的方式来获得None
元素的布尔数组?我可以使用
np.array([x is None for x in a])
但这似乎应该有更好的方法。
我绝对* *怎么也没有想到ndarrays表现不同的'None' ...福气! – SethMMorton 2014-09-25 22:38:52
...尤其是因为这个引用来自NumPy文档:*“每个算术运算(+, - ,*,/,//,%,divmod(),**或pow() ,^,|,〜)和比较(==,<, >,<=, > =,!=)等同于Numpy中相应的通用函数(或简称ufunc)。“*我只能假设'np.equal'是'=='的ufunc。 – SethMMorton 2014-09-25 22:44:35