On 03/10/2013 20:59, Charles R Harris wrote: > Here is what I have currently implemented. First, define an AllNanError > > class AllNanError(ValueError): > def __init__(self, msg, result): > ValueError.__init__(self, msg) > self.result = result > > For nanmax/nanmin/nanargmax/nanargmin this error is raised for all-nan axis > and the result is attached. The exception can then be caught and the > result examined. A ValueError is what amax, amin return for empty arrays. > > For nanmax/nanmin the result for an empty slice is nan. For > argnanmax/argnanmin the result of an empty slice is -1, which is easier > to read and remember than intp.min.
I think an error in this cases would be less confusing. > A ValueError is what argmin, argmax > currently return for empty arrays. Note that both of these functions can > give wrong results if they contain some min/max values respectively. > That is an old bug and I haven't fixed it. > > The nanmean/nanvar/nanstd functions currently raise a warning for > all-nan slices and the result for such is nan. These could also be made > to raise an error. I think an error in that case would be more consistent. Cheers, Daniele _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
