[Numpy-discussion] Problem with set_fill_value for masked structured array

Pierre GM pgmdevlist@gmail....
Sun Dec 13 20:21:50 CST 2009


On Dec 13, 2009, at 6:18 PM, Thomas Robitaille wrote:
> Hi,
> 
> The following code doesn't seem to work:
> 
> import numpy.ma as ma
> 
> t = ma.array(zip([1,2,3],[4,5,6]),dtype=[('a',int),('b',int)])
> print repr(t['a'])
> t['a'].set_fill_value(10)
> print repr(t['a'])
> 
> As the output is
> 
> masked_array(data = [1 2 3],
>              mask = [False False False],
>        fill_value = 999999)
> 
> masked_array(data = [1 2 3],
>              mask = [False False False],
>        fill_value = 999999)
> 
> (and no exception is raised)
> 
> Am I doing something wrong?

Well, that's a problem indeed, and I'd put that as a bug.
However, you can use that syntax instead:
>>> t.fill_value['a']=10
or set all the fields at once:
>>>t.fill_value=(10,999999)

I gonna try to see what I can do, but don't expect it in 1.4.x



More information about the NumPy-Discussion mailing list