Masked values of True exclude the corresponding element from any computation.
Construction:
x = MaskedArray(data, mask=nomask, dtype=None, copy=False, subok=True, ndmin=0, fill_value=None, keep_mask=True, hard_mask=None, shrink=True, order=None)
Input data.
Mask. Must be convertible to an array of booleans with the same shape as :None:None:`data`
. True indicates a masked (i.e. invalid) data.
Data type of the output. If dtype
is None, the type of the data argument ( data.dtype
) is used. If dtype
is not None and different from data.dtype
, a copy is performed.
Whether to copy the input data (True), or to use a reference instead. Default is False.
Whether to return a subclass of MaskedArray
if possible (True) or a plain MaskedArray
. Default is True.
Minimum number of dimensions. Default is 0.
Value used to fill in the masked values when necessary. If None, a default based on the data-type is used.
Whether to combine :None:None:`mask`
with the mask of the input data, if any (True), or to use only :None:None:`mask`
for the output (False). Default is True.
Whether to use a hard mask or not. With a hard mask, masked values cannot be unmasked. Default is False.
Whether to force compression of an empty mask. Default is True.
Specify the order of the array. If order is 'C', then the array will be in C-contiguous order (last-index varies the fastest). If order is 'F', then the returned array will be in Fortran-contiguous order (first-index varies the fastest). If order is 'A' (default), then the returned array may be in any order (either C-, Fortran-contiguous, or even discontiguous), unless a copy is required, in which case it will be C-contiguous.
An array class with possibly masked values.
The mask
can be initialized with an array of boolean values with the same shape as data
.
>>> data = np.arange(6).reshape((2, 3))
... np.ma.MaskedArray(data, mask=[[False, True, False],
... [False, False, True]]) masked_array( data=[[0, --, 2], [3, 4, --]], mask=[[False, True, False], [False, False, True]], fill_value=999999)
Alternatively, the mask
can be initialized to homogeneous boolean array with the same shape as data
by passing in a scalar boolean value:
>>> np.ma.MaskedArray(data, mask=False) masked_array( data=[[0, 1, 2], [3, 4, 5]], mask=[[False, False, False], [False, False, False]], fill_value=999999)This example is valid syntax, but we were not able to check execution
>>> np.ma.MaskedArray(data, mask=True) masked_array( data=[[--, --, --], [--, --, --]], mask=[[ True, True, True], [ True, True, True]], fill_value=999999, dtype=int64)
The recommended practice for initializing mask
with a scalar boolean value is to use True
/ False
rather than np.True_
/ np.False_
. The reason is :None:attr:`nomask`
is represented internally as np.False_
.
See :>>> np.False_ is np.ma.nomask True
The following pages refer to to this document either explicitly or contain code examples using this.
numpy.ma.core.getmaskarray
numpy.ma.core.getmask
scipy.sparse.csgraph._tools.csgraph_from_masked
numpy.ma.core.filled
numpy.ma.core.putmask
numpy.ma.core.MaskedArray
dask.array.ma.masked_array
numpy.ma.core.MaskedArray.real
dask.array.ma.getmaskarray
numpy.ma.core.MaskedArray.imag
scipy.special._logsumexp.logsumexp
numpy.ma.core.asanyarray
numpy.ma.extras.flatnotmasked_edges
numpy.ma.core.asarray
numpy.ma.core.array
Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.
Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)
SVG is more flexible but power hungry; and does not scale well to 50 + nodes.
All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them