numpy.ma (maskierte) Array-Mean-Methode hat inkonsistenten Rückgabetyp

Ich habe bemerkt, dass dienumpy masked-array mean method gibt verschiedene Typen zurück, wenn dies wahrscheinlich nicht der Fall sein sollte:

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

Anderenumpy.ma.core.MaskedArray Methoden scheinen konsistent zu sein

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

Kann das jemand erklären?

AKTUALISIEREN Wie in den Kommentaren @ hingewies

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage