Метод массива numpy.ma (в маске) ​​имеет несоответствующий тип возврата

Я заметил, чтометод среднего значения с использованием масочных массивов возвращает разные типы, когда это, вероятно, не должно:

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

Другойnumpy.ma.core.MaskedArray методы кажутся последовательными

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

Может кто-нибудь объяснить это?

ОБНОВИТЬ: Как указано в комментариях

C = np.ma.masked_array([1, 1, 1], mask=[False, False, False])
type(C.mean()) == type(A.mean())
# True 

Ответы на вопрос(1)

Ваш ответ на вопрос