[Numpy-discussion] Matching 0-d arrays and NumPy scalars

dmitrey dmitrey.kroshko@scipy....
Thu Feb 21 01:47:58 CST 2008


Travis E. Oliphant wrote:
> Hi everybody,
>
> In writing some generic code, I've encountered situations where it would 
> reduce code complexity to allow NumPy scalars to be "indexed" in the 
> same number of limited ways, that 0-d arrays support.
>
> For example, 0-d arrays can be indexed with
>
>     * Boolean masks
>     * Ellipses x[...]  and x[..., newaxis]
>     * Empty tuple x[()]
>
> I think that numpy scalars should also be indexable in these particular 
> cases as well (read-only of course,  i.e. no setting of the value would 
> be possible).
>
> This is an easy change to implement, and I don't think it would cause 
> any backward compatibility issues.
>
> Any opinions from the list?
>
>
> Best regards,
>
> -Travis O.
>
>   
As for me I would be glad to see same behavior for numbers as for arrays 
at all, like it's implemented in MATLAB, i.e.
 >>a=80
 >>disp(a)
80
 >>disp(a(1,1))
80
ok, for numpy having at least possibility to use
a=array(80)
print a[0]
would be very convenient, now atleast_1d(a) is required very often, and 
sometimes errors occur only some times later, already during execution 
of user-installed code, when user usually pass several-variables arrays 
and some time later suddenly single-variable array have been encountered.
I guess it could be implemented via a simple check:
if user calls for a[0] and a is array of shape () (i.e. like 
a=array(80)) then return a[()]
D.



More information about the Numpy-discussion mailing list