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