o método médio da matriz numpy.ma (mascarado) possui um tipo de retorno inconsitente
Notei que ométodo médio numpy masked-array retorna tipos diferentes quando provavelmente não deveria:
import numpy as np
A = np.ma.masked_equal([1,1,0], value=0)
B = np.ma.masked_equal([1,1,1], value=0) # no masked values
type(A.mean())
#numpy.float64
type(B.mean())
#numpy.ma.core.MaskedArray
De outrosnumpy.ma.core.MaskedArray
métodos parecem ser consistentes
type( A.sum()) == type(B.sum())
# True
type( A.prod()) == type(B.prod())
# True
type( A.std()) == type(B.std())
# True
type( A.mean()) == type(B.mean())
# False
Alguém pode explicar isso?
ATUALIZAR: Como apontado nos comentários
C = np.ma.masked_array([1, 1, 1], mask=[False, False, False])
type(C.mean()) == type(A.mean())
# True