Re: [SciPy-dev] masked_array drops fill_value
Please post questions about "ma" on numpy-discussion.
I don't like per-array fill_value feature. I believe fill_value
should be a mandatory argument to the filled method and default
fill_values only used internally to avoid passing bad data to ufuncs.
The behavior that you describe seem to be historical. I would like to
hear from other people who rely on per-array fill values before making
any change.
On 3/25/06, Tim Leslie
Hi all,
In ma.py the masked_array function the fill_value of the array passed in is not used. The code currently looks like this:
def masked_array (a, mask=nomask, fill_value=None): """masked_array(a, mask=nomask) = array(a, mask=mask, copy=0, fill_value=fill_value) """ return array(a, mask=mask, copy=0, fill_value=fill_value)
It seems to me that using the fill_value from a (if it is a MaskedArray) would be the sane thing to do? Something like
if fill_value == None and isinstance(a, MaskedArray): fill_value = a.fill_value() return array(a, mask=mask, copy=0, fill_value=fill_value)
As it stands, all the ma functions such as transpose, reshape, etc lose the fill_value which seems wrong to me.
Tim
_______________________________________________ Scipy-dev mailing list Scipy-dev@scipy.net http://www.scipy.net/mailman/listinfo/scipy-dev
participants (1)
-
Sasha