123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- """
- =============
- Masked Arrays
- =============
- Arrays sometimes contain invalid or missing data. When doing operations
- on such arrays, we wish to suppress invalid values, which is the purpose masked
- arrays fulfill (an example of typical use is given below).
- For example, examine the following array:
- >>> x = np.array([2, 1, 3, np.nan, 5, 2, 3, np.nan])
- When we try to calculate the mean of the data, the result is undetermined:
- >>> np.mean(x)
- nan
- The mean is calculated using roughly ``np.sum(x)/len(x)``, but since
- any number added to ``NaN`` [1]_ produces ``NaN``, this doesn't work. Enter
- masked arrays:
- >>> m = np.ma.masked_array(x, np.isnan(x))
- >>> m
- masked_array(data = [2.0 1.0 3.0 -- 5.0 2.0 3.0 --],
- mask = [False False False True False False False True],
- fill_value=1e+20)
- Here, we construct a masked array that suppress all ``NaN`` values. We
- may now proceed to calculate the mean of the other values:
- >>> np.mean(m)
- 2.6666666666666665
- .. [1] Not-a-Number, a floating point value that is the result of an
- invalid operation.
- .. moduleauthor:: Pierre Gerard-Marchant
- .. moduleauthor:: Jarrod Millman
- """
- from . import core
- from .core import *
- from . import extras
- from .extras import *
- __all__ = ['core', 'extras']
- __all__ += core.__all__
- __all__ += extras.__all__
- from numpy._pytesttester import PytestTester
- test = PytestTester(__name__)
- del PytestTester
|