In addition to the MaskedArray class, the numpy.ma module defines several constants.
The masked constant is a special case of MaskedArray, with a float datatype and a null shape. It is used to test whether a specific entry of a masked array is masked, or to mask one or several entries of a masked array:
>>> x = ma.array([1, 2, 3], mask=[0, 1, 0])
>>> x[1] is ma.masked
True
>>> x[-1] = ma.masked
>>> x
masked_array(data = [1 -- --],
mask = [False True True],
fill_value = 999999)
A subclass of ndarray designed to manipulate numerical arrays with missing data.
An instance of MaskedArray can be thought as the combination of several elements:
See also
Returns the underlying data, as a view of the masked array. If the underlying data is a subclass of numpy.ndarray, it is returned as such.
>>> x = ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 1], [1, 0]])
>>> x.data
matrix([[1, 2],
[3, 4]])
The type of the data can be accessed through the baseclass attribute.
Returns the mask of the array if it has no named fields. For structured arrays, returns a ndarray of booleans where entries are True if all the fields are masked, False otherwise:
>>> x = ma.array([(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)],
... mask=[(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)],
... dtype=[('a', int), ('b', int)])
>>> x.recordmask
array([False, False, True, False, False], dtype=bool)
Returns the value used to fill the invalid entries of a masked array. The value is either a scalar (if the masked array has no named fields), or a 0-D ndarray with the same dtype as the masked array if it has named fields.
The default filling value depends on the datatype of the array:
datatype | default |
---|---|
bool | True |
int | 999999 |
float | 1.e20 |
complex | 1.e20+0j |
object | ‘?’ |
string | ‘N/A’ |
Returns the class of the underlying data.
>>> x = ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 0], [1, 0]])
>>> x.baseclass
<class 'numpy.matrixlib.defmatrix.matrix'>
As MaskedArray is a subclass of ndarray, a masked array also inherits all the attributes and properties of a ndarray instance.
MaskedArray.base | Base object if memory is from some other object. |
MaskedArray.ctypes | An object to simplify the interaction of the array with the ctypes module. |
MaskedArray.dtype | Data-type of the array’s elements. |
MaskedArray.flags | Information about the memory layout of the array. |
MaskedArray.itemsize | Length of one array element in bytes. |
MaskedArray.nbytes | Total bytes consumed by the elements of the array. |
MaskedArray.ndim | Number of array dimensions. |
MaskedArray.shape | Tuple of array dimensions. |
MaskedArray.size | Number of elements in the array. |
MaskedArray.strides | Tuple of bytes to step in each dimension when traversing an array. |
MaskedArray.imag | Imaginary part. |
MaskedArray.real | Real part |
MaskedArray.flat | Flat version of the array. |
MaskedArray.__array_priority__ |
See also
MaskedArray.__float__() | Convert to float. |
MaskedArray.__hex__(x) | |
MaskedArray.__int__() | Convert to int. |
MaskedArray.__long__(x) | |
MaskedArray.__oct__(x) | |
MaskedArray.view([dtype, type]) | New view of array with the same data. |
MaskedArray.astype(newtype) | Returns a copy of the MaskedArray cast to given newtype. |
MaskedArray.byteswap(inplace) | Swap the bytes of the array elements |
MaskedArray.compressed() | Return all the non-masked data as a 1-D array. |
MaskedArray.filled([fill_value]) | Return a copy of self, where masked values are filled with a fill value. |
MaskedArray.tofile(fid[, sep, format]) | Save a masked array to a file in binary format. |
MaskedArray.toflex() | Transforms a masked array into a flexible-type array. |
MaskedArray.tolist([fill_value]) | Return the data portion of the masked array as a hierarchical Python list. |
MaskedArray.torecords() | Transforms a masked array into a flexible-type array. |
MaskedArray.tostring([fill_value, order]) | Return the array data as a string containing the raw bytes in the array. |
For reshape, resize, and transpose, the single tuple argument may be replaced with n integers which will be interpreted as an n-tuple.
MaskedArray.flatten([order]) | Return a copy of the array collapsed into one dimension. |
MaskedArray.ravel() | Returns a 1D version of self, as a view. |
MaskedArray.reshape(*s, **kwargs) | Give a new shape to the array without changing its data. |
MaskedArray.resize(newshape[, refcheck, order]) | |
MaskedArray.squeeze() | Remove single-dimensional entries from the shape of a. |
MaskedArray.swapaxes(axis1, axis2) | Return a view of the array with axis1 and axis2 interchanged. |
MaskedArray.transpose(*axes) | Returns a view of the array with axes transposed. |
MaskedArray.T |
For array methods that take an axis keyword, it defaults to None. If axis is None, then the array is treated as a 1-D array. Any other value for axis represents the dimension along which the operation should proceed.
MaskedArray.argmax([axis, fill_value, out]) | Returns array of indices of the maximum values along the given axis. |
MaskedArray.argmin([axis, fill_value, out]) | Return array of indices to the minimum values along the given axis. |
MaskedArray.argsort([axis, fill_value, ...]) | Return an ndarray of indices that sort the array along the specified axis. |
MaskedArray.choose(choices[, out, mode]) | Use an index array to construct a new array from a set of choices. |
MaskedArray.compress(condition[, axis, out]) | Return a where condition is True. |
MaskedArray.diagonal([offset, axis1, axis2]) | Return specified diagonals. |
MaskedArray.fill(value) | Fill the array with a scalar value. |
MaskedArray.item(*args) | Copy an element of an array to a standard Python scalar and return it. |
MaskedArray.nonzero() | Return the indices of unmasked elements that are not zero. |
MaskedArray.put(indices, values[, mode]) | Set storage-indexed locations to corresponding values. |
MaskedArray.repeat(repeats[, axis]) | Repeat elements of an array. |
MaskedArray.searchsorted(v[, side]) | Find indices where elements of v should be inserted in a to maintain order. |
MaskedArray.sort([axis, kind, order, ...]) | Return a sorted copy of an array. |
MaskedArray.take(indices[, axis, out, mode]) | Return an array formed from the elements of a at the given indices. |
MaskedArray.copy([order]) | Return a copy of the array. |
MaskedArray.dump(file) | Dump a pickle of the array to the specified file. |
MaskedArray.dumps() | Returns the pickle of the array as a string. |
MaskedArray.all([axis, out]) | Check if all of the elements of a are true. |
MaskedArray.anom([axis, dtype]) | Compute the anomalies (deviations from the arithmetic mean) along the given axis. |
MaskedArray.any([axis, out]) | Check if any of the elements of a are true. |
MaskedArray.clip(a_min, a_max[, out]) | Return an array whose values are limited to [a_min, a_max]. |
MaskedArray.conj() | Complex-conjugate all elements. |
MaskedArray.conjugate() | Return the complex conjugate, element-wise. |
MaskedArray.cumprod([axis, dtype, out]) | Return the cumulative product of the elements along the given axis. |
MaskedArray.cumsum([axis, dtype, out]) | Return the cumulative sum of the elements along the given axis. |
MaskedArray.max([axis, out, fill_value]) | Return the maximum along a given axis. |
MaskedArray.mean([axis, dtype, out]) | Returns the average of the array elements. |
MaskedArray.min([axis, out, fill_value]) | Return the minimum along a given axis. |
MaskedArray.prod([axis, dtype, out]) | Return the product of the array elements over the given axis. |
MaskedArray.product([axis, dtype, out]) | Return the product of the array elements over the given axis. |
MaskedArray.ptp([axis, out, fill_value]) | Return (maximum - minimum) along the the given dimension (i.e. |
MaskedArray.round([decimals, out]) | Return an array rounded a to the given number of decimals. |
MaskedArray.std([axis, dtype, out, ddof]) | Compute the standard deviation along the specified axis. |
MaskedArray.sum([axis, dtype, out]) | Return the sum of the array elements over the given axis. |
MaskedArray.trace([offset, axis1, axis2, ...]) | Return the sum along diagonals of the array. |
MaskedArray.var([axis, dtype, out, ddof]) | Compute the variance along the specified axis. |
MaskedArray.__lt__ | x.__lt__(y) <==> x<y |
MaskedArray.__le__ | x.__le__(y) <==> x<=y |
MaskedArray.__gt__ | x.__gt__(y) <==> x>y |
MaskedArray.__ge__ | x.__ge__(y) <==> x>=y |
MaskedArray.__eq__(other) | Check whether other equals self elementwise |
MaskedArray.__ne__(other) | Check whether other doesn’t equal self elementwise |
MaskedArray.__nonzero__ | x.__nonzero__() <==> x != 0 |
MaskedArray.__abs__(x) | |
MaskedArray.__add__(other) | Add other to self, and return a new masked array. |
MaskedArray.__radd__(other) | Add other to self, and return a new masked array. |
MaskedArray.__sub__(other) | Subtract other to self, and return a new masked array. |
MaskedArray.__rsub__(other) | Subtract other to self, and return a new masked array. |
MaskedArray.__mul__(other) | Multiply other by self, and return a new masked array. |
MaskedArray.__rmul__(other) | Multiply other by self, and return a new masked array. |
MaskedArray.__div__(other) | Divide other into self, and return a new masked array. |
MaskedArray.__rdiv__ | x.__rdiv__(y) <==> y/x |
MaskedArray.__truediv__(other) | Divide other into self, and return a new masked array. |
MaskedArray.__rtruediv__ | x.__rtruediv__(y) <==> y/x |
MaskedArray.__floordiv__(other) | Divide other into self, and return a new masked array. |
MaskedArray.__rfloordiv__ | x.__rfloordiv__(y) <==> y//x |
MaskedArray.__mod__ | x.__mod__(y) <==> x%y |
MaskedArray.__rmod__ | x.__rmod__(y) <==> y%x |
MaskedArray.__divmod__(x, y) | |
MaskedArray.__rdivmod__(y, x) | |
MaskedArray.__pow__(other) | Raise self to the power other, masking the potential NaNs/Infs |
MaskedArray.__rpow__(x) | |
MaskedArray.__lshift__ | x.__lshift__(y) <==> x<<y |
MaskedArray.__rlshift__ | x.__rlshift__(y) <==> y<<x |
MaskedArray.__rshift__ | x.__rshift__(y) <==> x>>y |
MaskedArray.__rrshift__ | x.__rrshift__(y) <==> y>>x |
MaskedArray.__and__ | x.__and__(y) <==> x&y |
MaskedArray.__rand__ | x.__rand__(y) <==> y&x |
MaskedArray.__or__ | x.__or__(y) <==> x|y |
MaskedArray.__ror__ | x.__ror__(y) <==> y|x |
MaskedArray.__xor__ | x.__xor__(y) <==> x^y |
MaskedArray.__rxor__ | x.__rxor__(y) <==> y^x |
MaskedArray.__iadd__(other) | Add other to self in-place. |
MaskedArray.__isub__(other) | Subtract other from self in-place. |
MaskedArray.__imul__(other) | Multiply self by other in-place. |
MaskedArray.__idiv__(other) | Divide self by other in-place. |
MaskedArray.__itruediv__ | x.__itruediv__(y) <==> x/y |
MaskedArray.__ifloordiv__ | x.__ifloordiv__(y) <==> x//y |
MaskedArray.__imod__ | x.__imod__(y) <==> x%y |
MaskedArray.__ipow__(other) | Raise self to the power other, in place. |
MaskedArray.__ilshift__ | x.__ilshift__(y) <==> x<<y |
MaskedArray.__irshift__ | x.__irshift__(y) <==> x>>y |
MaskedArray.__iand__ | x.__iand__(y) <==> x&y |
MaskedArray.__ior__ | x.__ior__(y) <==> x|y |
MaskedArray.__ixor__ | x.__ixor__(y) <==> x^y |
MaskedArray.__repr__() | Literal string representation. |
MaskedArray.__str__() | String representation. |
MaskedArray.ids() | Return the addresses of the data and mask areas. |
MaskedArray.iscontiguous() | Return a boolean indicating whether the data is contiguous. |
For standard library functions:
MaskedArray.__copy__() | Return a copy of the array. |
MaskedArray.__deepcopy__([memo]) | |
MaskedArray.__getstate__() | Return the internal state of the masked array, for pickling |
MaskedArray.__reduce__() | Return a 3-tuple for pickling a MaskedArray. |
MaskedArray.__setstate__(state) | Restore the internal state of the masked array, for pickling purposes. |
Basic customization:
MaskedArray.__new__ | |
MaskedArray.__array__ | a.__array__(|dtype) -> reference if type unchanged, copy otherwise. |
MaskedArray.__array_wrap__(obj[, context]) | Special hook for ufuncs. |
Container customization: (see Indexing)
MaskedArray.__len__(x) | |
MaskedArray.__getitem__(indx) | x.__getitem__(y) <==> x[y] |
MaskedArray.__setitem__(indx, value) | x.__setitem__(i, y) <==> x[i]=y |
MaskedArray.__delitem__ | x.__delitem__(y) <==> del x[y] |
MaskedArray.__getslice__(i, j) | x.__getslice__(i, j) <==> x[i:j] |
MaskedArray.__setslice__(i, j, value) | x.__setslice__(i, j, value) <==> x[i:j]=value |
MaskedArray.__contains__ | x.__contains__(y) <==> y in x |
The following methods can be used to access information about the mask or to manipulate the mask.
MaskedArray.__setmask__(mask[, copy]) | Set the mask. |
MaskedArray.harden_mask() | Force the mask to hard. |
MaskedArray.soften_mask() | Force the mask to soft. |
MaskedArray.unshare_mask() | Copy the mask and set the sharedmask flag to False. |
MaskedArray.shrink_mask() | Reduce a mask to nomask when possible. |
MaskedArray.get_fill_value() | Return the filling value of the masked array. |
MaskedArray.set_fill_value([value]) | Set the filling value of the masked array. |
MaskedArray.count([axis]) | Count the non-masked elements of the array along the given axis. |