diff options
author | Eric Wieser <wieser.eric@gmail.com> | 2017-02-23 15:15:37 +0000 |
---|---|---|
committer | Eric Wieser <wieser.eric@gmail.com> | 2017-03-07 17:33:25 +0000 |
commit | ee90efce354c8af73e17331d3977121d438bb294 (patch) | |
tree | 58fc614bd36bbf0849e84a5338497379064ba543 | |
parent | 821293d73fb6f62a9304c744a6144b43a853ba81 (diff) | |
download | numpy-ee90efce354c8af73e17331d3977121d438bb294.tar.gz |
MAINT: tidy up sort output stage, avoiding meshgrid and flat
-rw-r--r-- | numpy/ma/core.py | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/numpy/ma/core.py b/numpy/ma/core.py index 32e226c43..e78d1601d 100644 --- a/numpy/ma/core.py +++ b/numpy/ma/core.py @@ -5452,17 +5452,14 @@ class MaskedArray(ndarray): sidx = self.argsort(axis=axis, kind=kind, order=order, fill_value=fill_value, endwith=endwith) - # save meshgrid memory for 1d arrays + # save memory for 1d arrays if self.ndim == 1: idx = sidx else: - idx = np.meshgrid(*[np.arange(x) for x in self.shape], sparse=True, - indexing='ij') + idx = list(np.ix_(*[np.arange(x) for x in self.shape])) idx[axis] = sidx - tmp_mask = self._mask[idx].flat - tmp_data = self._data[idx].flat - self._data.flat = tmp_data - self._mask.flat = tmp_mask + + self[...] = self[idx] def min(self, axis=None, out=None, fill_value=None, keepdims=np._NoValue): """ |