[Numpy-discussion] Adding .abs() method to the array object
Paul Anton Letnes
paul.anton.letnes at gmail.com
Mon Mar 4 15:39:10 EST 2013
On 24. feb. 2013, at 02:20, josef.pktd at gmail.com wrote:
> On Sat, Feb 23, 2013 at 3:33 PM, Robert Kern <robert.kern at gmail.com> wrote:
>> On Sat, Feb 23, 2013 at 7:25 PM, Nathaniel Smith <njs at pobox.com> wrote:
>>> On Sat, Feb 23, 2013 at 3:38 PM, Till Stensitzki <mail.till at 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