[SciPy-user] nan?
Robert Kern
robert.kern at gmail.com
Thu Nov 30 04:08:24 EST 2006
Joshua Petterson wrote:
> Hi Robert,
> thanks for these precisions. I don't want to start a troll in this
> m-l, but why numpy doesn't understand nan and masked_values together?
> And a mix of them doen't work:
> |~|[40]>ma.masked_values([1,2,nan],nan).mean()
> Out [40]:array(nan)
> |~|[41]>ma.masked_object([1,2,nan],nan).mean()
> Out [41]:array(nan)
That would be the "nan != nan" feature of the little buggers at work.
> Then, if I have missing values in my datas, what can I do? I cannot
> compute on nan, and numpy.ma doesn't recognize it. I could use isnan
> to find them, but what's that?:
> |~|[48]>a=[1,2,nan]
> |~|[49]>b=ma.array(a,mask=isnan(a))
> |~|[50]>b
> Out [50]:
> array(data =
> [ 1.00000000e+00 2.00000000e+00 1.00000000e+20],
> mask =
> [False False True],
> fill_value=1e+20)
>
> nan becomes 1e+20!!! Good precision :-)
That's the default fill value. Don't worry about it. Change it back to nan if
you like using the fill_value keyword argument. It only affects display and any
users of the .filled() method (which will probably demand some other specific
fill value depending on the application).
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list