[Numpy-discussion] MA bug or feature?
Pierre GM
pgmdevlist at mailcan.com
Thu Jun 22 15:15:15 EDT 2006
On Wednesday 21 June 2006 22:01, Michael Sorich wrote:
> I was setting the fill_value as 'NA' when constructing the array so
> the masked values would be printed as 'NA'. It is not a big deal to
> avoid doing this.
You can use masked_print_option, as illustrated below, without using a
fill_value incompatible with your data type.
>>>import numpy.core.ma as MA
>>>X = MA.array([1,2,3],maks=[0,1,0])
>>>print X
[1 -- 3]
>>>MA.masked_print_option=MA._MaskedPrintOption('N/A')
>>>print X
[1 N/A 3]
> Nevertheless, the differences between a masked array with a boolean
> mask and a mask of booleans have caused me trouble before. Especially
> when there are hidden in-place conversions of a mask which is a array
> of False to a mask which is False. e.g.
OK, I'm still using 0.9.8 and I can't help you with this one. In that version,
N.asarray transforms the MA into a ndarray, so you lose the mask.
But I wonder: if none of your values are masked, the natural behavior would be
to have `data.mask==nomask`, which speeds up things a bit. This gain of time
is why I was suggesting that `mask` would be forced to `nomask` at the
creation, if `mask.any()==False`.
Could you give me some examples of cases where you need the mask to stay as an
array of False ?
If you need to access the mask as an array, you can always use
MA.getmaskarray.
More information about the NumPy-Discussion
mailing list