Hi Chao, If you don't mind modifying masked values, then if you write to the underlying ndarray it won't touch the mask:
>>> a = np.ma.masked_less(np.arange(10),5) >>> a.base[3:6] = 1 >>> a masked_array(data = [-- -- -- -- -- 1 6 7 8 9], mask = [ True True True True True False False False False False], fill_value = 999999) Regards, Richard Hattersley On 10 September 2012 17:43, Chao YUE <chaoyue...@gmail.com> wrote: > Dear all numpy users, > > what's the easy way if I just want to change part of the unmasked array > elements into another new value? like an example below: > in my real case, I would like to change a subgrid of a masked numpy array > to another value, but this grid include both masked and unmasked data. > If I do a simple array[index1:index2, index3:index4] = another_value, > those data with original True mask will change into False. I am using numpy > 1.6.2. > Thanks for any ideas. > > In [91]: a = np.ma.masked_less(np.arange(10),5) > > In [92]: or_mask = a.mask.copy() > In [93]: a > Out[93]: > masked_array(data = [-- -- -- -- -- 5 6 7 8 9], > mask = [ True True True True True False False False False > False], > fill_value = 999999) > > > In [94]: a[3:6]=1 > > In [95]: a > Out[95]: > masked_array(data = [-- -- -- 1 1 1 6 7 8 9], > mask = [ True True True False False False False False False > False], > fill_value = 999999) > > > In [96]: a = np.ma.masked_array(a,mask=or_mask) > > In [97]: a > Out[97]: > masked_array(data = [-- -- -- -- -- 1 6 7 8 9], > mask = [ True True True True True False False False False > False], > fill_value = 999999) > > Chao > > -- > > *********************************************************************************** > Chao YUE > Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) > UMR 1572 CEA-CNRS-UVSQ > Batiment 712 - Pe 119 > 91191 GIF Sur YVETTE Cedex > Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 > > ************************************************************************************ > > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion