[Numpy-discussion] Thoughts for 1.1
Gary Strangman
strang@nmr.mgh.harvard....
Wed Apr 2 17:48:39 CDT 2008
If you're looking for user input ... +1 on having a keepdims capability. I
have myself implemented many such functions with a keepdims=1 keyword. No
real preference on how it's impelemented, though the potential for
breakage is a concern ...
Gary
On Wed, 2 Apr 2008, Charles R Harris wrote:
> On Wed, Apr 2, 2008 at 4:30 PM, Robert Kern <robert.kern@gmail.com> wrote:
>
>> On undefined, Charles R Harris <charlesr.harris@gmail.com> wrote:
>>> Hi All,
>>>
>>> I think it would enhance broadcasting if functions like sum, mean, etc
>>> didn't change the number of dimensions. For example, suppose one wanted
>> to
>>> subtract the mean along dimension 2 from the same axis of the original
>>> array, then something like
>>>
>>> In [44]: a = ones((2,3,4,5))
>>>
>>> In [45]: a -= a.mean(2)
>>>
>>> would do the trick. Similar modifications might also suit functions of
>> the
>>> argmax, argmin, argsort type and allow a common argtake function that
>> would
>>> allow one to take along a specified axis, making easy something that is
>>> somewhat complicated at the moment.
>>>
>>> The main drawback that I see is that scalars would no longer be 0D, but
>> that
>>> could be special cased as scalars will broadcast correctly no matter the
>>> ndim.
>>
>> -1
>>
>> I really don't want to see this amount of code breakage, even in 1.1.
>> Add another keyword argument if you wish, but don't break the current
>> API.
>>
>
> Apart from that, what do you think of the idea? I currently spend more
> effort than I like doing newaxis magic.
>
> Chuck
>
More information about the Numpy-discussion
mailing list