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

Reply via email to