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)