[Numpy-discussion] Clarifications in numpy.ma module

Benjamin Root ben.root at ou.edu
Tue Dec 30 13:45:41 EST 2014


What do you mean that the mean function doesn't take care of the case where
the array is empty? In the example you provided, they both end up being
NaN, which is exactly correct.

Ben Root

On Tue, Dec 30, 2014 at 6:10 AM, Maniteja Nandana <
maniteja.modesty067 at gmail.com> wrote:

> Guys,
> sorry for the incomplete message,
> *_DomainedBinaryOperation *for divide remainder
>
> Related to issue 5354, where the docstring for  _*MaskedBinaryOperation *says
> that invalid values are pre-masked*, but for **_DomainedBinaryOperation *where
> the invalid values are masked in result, even if they are not masked in the
> input.
>
> 4. Also, I had a doubt regarding the working of a%b and
>  np.ma.remainder(a,b), whether they are analogous to the way functions like
> add, divide work. Since, the changes done to the above BinaryOperation
> classes are visible to a/b, a*b, np.ma.multiply, np.ma.divide,
> np.ma.remainder, np.ma.mod but not a%b. Please do correct me if I am wrong
> about *mod, **remainder and % *use.
>
> 5. The *mean* function doesn't take care of the edge case where array is
> empty.
>
> >>>np.mean(np.array([]))
> /home/maniteja/FOSS/numpy/numpy/core/_methods.py:59: RuntimeWarning: Mean
> of empty slice.
>   warnings.warn("Mean of empty slice.", RuntimeWarning)
> /home/maniteja/FOSS/numpy/numpy/core/_methods.py:71: RuntimeWarning:
> invalid value encountered in double_scalars
>   ret = ret.dtype.type(ret / rcount)
> nan
>
> >>> np.ma.mean(np.ma.array([]))
> /home/maniteja/FOSS/numpy/numpy/core/_methods.py:69: RuntimeWarning:
> invalid value encountered in true_divide
>   ret, rcount, out=ret, casting='unsafe', subok=False)
> masked_array(data = nan,
>              mask = False,
>        fill_value = 1e+20)
>
> Thanks ,
> Maniteja.
>
>
>
> On Tue, Dec 30, 2014 at 4:19 PM, Maniteja Nandana <
> maniteja.modesty067 at gmail.com> wrote:
>
>> Hi all,
>>
>> I have recently been trying out various functions in masked array module
>> of numpy. I have got confused at a places in the *core.py *of *ma *
>> module.
>>
>> 1. In the *masked_equal *method, the docstring doesn't suggest that the *fill_value
>> *gets updated by the *value *parameter of the function, but this line (
>> https://github.com/numpy/numpy/blob/master/numpy/ma/core.py#L1978 ) sets
>> the *fill_value* as *value. *
>>
>> 2. The outputs of following functions - *any *(
>> https://github.com/numpy/numpy/blob/master/numpy/ma/core.py#L4327) -
>> *all* (https://github.com/numpy/numpy/blob/master/numpy/ma/core.py#L4280)
>> are similar, they return *np.ma.masked *if all the elements have masks
>> in the array, else return *True*.
>>
>> 3.  _*MaskedBinaryOperation : *Used for multiply, add, subtract
>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20141230/9e9dad6e/attachment.html>


More information about the NumPy-Discussion mailing list