On 06/30/2011 08:53 AM, Nathaniel Smith wrote: > On Wed, Jun 29, 2011 at 2:21 PM, Eric Firing<efir...@hawaii.edu> wrote: >> In addition, for new code, the full-blown masked array module may not be >> needed. A convenience it adds, however, is the automatic masking of >> invalid values: >> >> In [1]: np.ma.log(-1) >> Out[1]: masked >> >> I'm sure this horrifies some, but there are times and places where it is >> a genuine convenience, and preferable to having to use a separate >> operation to replace nan or inf with NA or whatever it ends up being. > > Err, but what would this even get you? NA, NaN, and Inf basically all > behave the same WRT floating point operations anyway, i.e., they all > propagate?
Not exactly. First, it depends on np.seterr; second, calculations on NaN can be very slow, so are better avoided entirely; third, if an array is passed to extension code, it is much nicer if that code only has one NA value to handle, instead of having to check for all possible "bad" values. > > Is the idea that if ufunc's gain a skipna=True flag, you'd also like > to be able to turn it into a skipna_and_nan_and_inf=True flag? No, it is to have a situation where skipna_and_nan_and_inf would not be needed, because an operation generating a nan or inf would turn those values into NA or IGNORE or whatever right away. Eric > > -- Nathaniel > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion