On Wednesday, March 7, 2012, Neal Becker <ndbeck...@gmail.com> wrote:
> Charles R Harris wrote:
>
>> On Wed, Mar 7, 2012 at 1:05 PM, Neal Becker <ndbeck...@gmail.com> wrote:
>>
>>> I'm wondering what is the use for the ignored data feature?
>>>
>>> I can use:
>>>
>>> A[valid_A_indexes] = whatever
>>>
>>> to process only the 'non-ignored' portions of A.  So at least some
simple
>>> cases
>>> of ignored data are already supported without introducing a new type.
>>>
>>> OTOH:
>>>
>>> w = A[valid_A_indexes]
>>>
>>> will copy A's data, and subsequent use of
>>>
>>> w[:] = something
>>>
>>> will not update A.
>>>
>>> Is this the reason for wanting the ignored data feature?
>>>
>>
>> Suppose you are working with plotted data and want to turn points on/off
by
>> clicking on them interactively to see how that affects a fit. Why make
>> multiple copies, change sizes, destroy data, and all that nonsense? Just
>> have the click update the mask and redraw.
>>
>> Chuck
>
> But does
>
> some_func (A[valid_data_mask])
>
> actually perform a copy?
>
>

Yes! If it isn't sliced, or accessed by a scalar index, then you are given
a copy.  Fancy indexing and Boolean indexing will not return a view.

Note that assignments to a Boolean-indexed array by a scalar is
special-cased. I.e.,

A[valid_points] = 5

will do what you expect. But,

A[valid_points] += 5

may not, IIRC.

Ben Root
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to