[Numpy-discussion] request for new array method: arr.abs()
haase at msg.ucsf.edu
Wed Aug 23 21:02:13 CDT 2006
On Wednesday 23 August 2006 18:37, Travis Oliphant wrote:
> David M. Cooke wrote:
> > On Wed, 23 Aug 2006 16:22:52 -0700
> > Sebastian Haase <haase at msg.ucsf.edu> wrote:
> >> On Wednesday 23 August 2006 16:12, Bill Baxter wrote:
> >>> The thing that I find I keep forgetting is that abs() is a built-in,
> >>> but other simple functions are not. So it's abs(foo), but
> >>> numpy.floor(foo) and numpy.ceil(foo). And then there's round() which
> >>> is a built-in but can't be used with arrays, so numpy.round_(foo).
> >>> Seems like it would be more consistent to just add a numpy.abs() and
> >>> numpy.round().
> >> Regarding the original subject:
> >> a) "absolute" is impractically too much typing and
> >> b) I just thought some (module-) functions might be "forgotten" to be
> >> put in as (object-) methods ... !?
> > Four-line change, so I added a.abs() (three lines for array, one
> > for MaskedArray).
> While I appreciate it's proactive nature, I don't like this change
> because it adds another "ufunc" as a method. Right now, I think conj is
> the only other method like that.
> Instead, I like better the idea of adding abs, round, max, and min to
> the "non-import-*" namespace of numpy.
How does this compare with
mean, min, max, average
BTW: I think me choice is now settled on the builtin call: abs(arr)
-- short and sweet. (As long as it is really supposed to *always* work and
is not *slow* in any way !?!?!?!?)
More information about the Numpy-discussion