| """ |
| ============= |
| 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 |