Dear Richard, this is what I want. Thanks!
Chao On Tue, Sep 11, 2012 at 3:19 PM, Richard Hattersley <rhatters...@gmail.com>wrote: > 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 > > -- *********************************************************************************** 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