[Numpy-discussion] Masked array fill_value

Eric Firing efiring at hawaii.edu
Sat Jul 19 17:21:04 EDT 2008


Ryan May wrote:
> Hi,
> 
> I just noticed this and found it surprising:
> 
> In [8]: from numpy import ma
> 
> In [9]: a = ma.array([1,2,3,4],mask=[False,False,True,False],fill_value=0)
> 
> In [10]: a
> Out[10]:
> masked_array(data = [1 2 -- 4],
>        mask = [False False  True False],
>        fill_value=0)
> 
> 
> In [11]: a[2]
> Out[11]:
> masked_array(data = --,
>        mask = True,
>        fill_value=1e+20)
> 
> In [12]: np.__version__
> Out[12]: '1.1.0'
> 
> Is there a reason that the fill_value isn't inherited from the parent array?

There was a thread about this a couple months ago, and Pierre GM 
explained it.  I think the point was that indexing is giving you a new 
masked scalar, which is therefore taking the default mask value of the 
type.  I don't see it as a problem; you can always specify the fill 
value explicitly when you need to.

Eric

> 
> Ryan
> 




More information about the NumPy-Discussion mailing list