[Numpy-discussion] how to combine (stack) two masked arrays?
Jim Vickroy
Jim.Vickroy at noaa.gov
Thu Mar 1 17:53:34 EST 2007
Thanks for the quick response!
Please see my in-line comments below.
Pierre GM wrote:
> Hello,
> The simplest is:
> rescaled[rescaled.mask]=clipped_mask[rescaled.mask]
>
> But for this particular kind of operation, I don't think that you need masked
> array at all: this could do the trick
>
>>>> rescaled = clipped.copy()
>>>> inside = numpy.logical_and(clipped>=123, clipped<=354)
>>>> outside = numpy.logical_not(inside)
>>>> newrescaled[inside] = 5*clipped[inside]
>>>> newrescaled[outside] = clipped[outside]
>>>>
>
>
Great; that is slick (replaced *newrescaled* with *rescaled* in the
above code)!
I approached numpy with a preconceived notion of how to perform this
task (i.e., masked arrays) and did not look at the broader set of
package capabilities <frown>
> A side note: when using numpy.core.ma, it's more efficient to deal w/ the
> _data and _mask parts separately than at once.
>
Thanks for the tip.
> <pushing_product>
> You may want to try an alternative implementation of maskedarray, available in
> the sandbox of the scipy SVN. I'd be very happy to have your feedback
> </pushing_product>
>
While browsing the archived discussions, I did see mention of this, but
decided to avoid it because I was a newbie.
> Let me know if this helps
> P.
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20070301/ce51ced5/attachment.html>
More information about the NumPy-Discussion
mailing list