creando una matriz booleana que compara elementos numpy con Ninguno

Tengo una matriz numpy con dtype = object, y quiero crear una matriz booleana que identifique qué elementos son None . Pero parece que None comporta de manera diferente …

 a = np.array(['Duck','Duck','Duck','Goose',None,1,2,3,1,3,None,4]) print a == 'Duck' print a == 3 print a == None 

lo que resulta en

 [ 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 

¿Existe una forma “numpythonic” de obtener una matriz booleana de los elementos None ? Puedo usar

 np.array([x is None for x in a]) 

Pero esto parece que debería haber una mejor manera.

Puedes usar numpy.equal :

 In [20]: np.equal(a, None) Out[20]: array([False, False, False, False, True, False, False, False, False, False, True, False], dtype=bool)