On Wed, Nov 17, 2021 at 7:51 PM Andras Deak <deak.and...@gmail.com> wrote: > > On Wed, Nov 17, 2021 at 7:39 PM Sebastian Berg <sebast...@sipsolutions.net> > wrote: >> >> Hi all, >> >> the `np.ndenumerate` does not work well for masked arrays (like many >> main namespace functions, it simply ignores/drops the mask). >> >> There is a PR (https://github.com/numpy/numpy/pull/20020) to add a >> version of it to `np.ma` (masked array specific). And we thought it >> seemed reasonable and were planning on putting it in. >> >> This version skips all masked elements. An alternative could be to >> return `np.ma.masked` for masked elements? > > Would it be a bad idea to add a kwarg that specifies this behaviour (i.e. > offering both alternatives)? Assuming people might need the masked items to > be there under certain circumstances. Perhaps when zipping masked data with > dense data?
Just one remark about this. I chose not to yield masked elements, because it would basically turn the implementation into for index in np.ndindex(a.shape): yield index, a[index] Rather than zipping, you could as well iterate over `np.ndindex` and get the respective items from the dense and masked arrays via indexing. Really only when skipping masked elements does `ndenumerate` offer some meaningful MaskedArray-specific functionality. I'm not saying the alternative behavior should not be supported (although I personally see little benefit), but the above argument should at least be convincing that skipping is a useful default. Regards, - Jouke _______________________________________________ NumPy-Discussion mailing list -- numpy-discussion@python.org To unsubscribe send an email to numpy-discussion-le...@python.org https://mail.python.org/mailman3/lists/numpy-discussion.python.org/ Member address: arch...@mail-archive.com