[Numpy-discussion] Adding .abs() method to the array object

Paul Anton Letnes paul.anton.letnes@gmail....
Mon Mar 4 14:39:10 CST 2013


On 24. feb. 2013, at 02:20, josef.pktd@gmail.com wrote:

> On Sat, Feb 23, 2013 at 3:33 PM, Robert Kern <robert.kern@gmail.com> wrote:
>> On Sat, Feb 23, 2013 at 7:25 PM, Nathaniel Smith <njs@pobox.com> wrote:
>>> On Sat, Feb 23, 2013 at 3:38 PM, Till Stensitzki <mail.till@gmx.de> wrote:
>>>> Hello,
>>>> i know that the array object is already crowded, but i would like
>>>> to see the abs method added, especially doing work on the console.
>>>> Considering that many much less used functions are also implemented
>>>> as a method, i don't think adding one more would be problematic.
>>> 
>>> My gut feeling is that we have too many methods on ndarray, not too
>>> few, but in any case, can you elaborate? What's the rationale for why
>>> np.abs(a) is so much harder than a.abs(), and why this function and
>>> not other unary functions?
>> 
>> Or even abs(a).
> 
> 
> my reason is that I often use
> 
> arr.max()
> but then decide I want to us abs and need
> np.max(np.abs(arr))
> instead of arr.abs().max() (and often I write that first to see the
> error message)
> 
> I don't like
> np.abs(arr).max()
> because I have to concentrate to much on the braces, especially if arr
> is a calculation
> 
> I wrote several times
> def maxabs(arr):
>    return np.max(np.abs(arr))
> 
> silly, but I use it often and np.is_close is not useful (doesn't show how close)
> 
> Just a small annoyance, but I think it's the method that I miss most often.
> 
> Josef

Very well put. I wholeheartedly agree. I'd be sort of happy with all functions becoming np.xxx() in numpy 2.0, for consistency.

Paul



More information about the NumPy-Discussion mailing list