[Numpy-tickets] [NumPy] #578: Indexing of multi-D arrays is counterintuitive
NumPy
numpy-tickets@scipy....
Thu Sep 13 11:07:48 CDT 2007
#578: Indexing of multi-D arrays is counterintuitive
------------------------+---------------------------------------------------
Reporter: gic888 | Owner: somebody
Type: defect | Status: closed
Priority: normal | Milestone: 1.0.4 Release
Component: numpy.core | Version: none
Severity: normal | Resolution: wontfix
Keywords: |
------------------------+---------------------------------------------------
Changes (by cookedm):
* status: new => closed
* resolution: => wontfix
Old description:
> numpy 1.0.4.dev3869 with Python 2.5 on Mac OS 10.4.9 (Intel)
>
> Slicing 1 dimension of a 2D array does not have the same effect as using
> the same slice on a 1D array. Also, calling "array" on the slice
> generates an array different than the slice, and some slice indexes
> behave differently than others. I will clarify with examples:
>
> ipy > z=reshape(arange(30), (15,2))
> ipy > z[3:,0]=z[:-3,0]
>
> ipy > z
> out:
> array([[ 0, 1],
> [ 2, 3],
> [ 4, 5],
> [ 0, 7],
> [ 2, 9],
> [ 4, 11],
> [ 0, 13],
> [ 2, 15],
> [ 4, 17],
> [ 0, 19],
> [ 2, 21],
> [ 4, 23],
> [ 0, 25],
> [ 2, 27],
> [ 4, 29]])
>
> but:
>
> ipy > z=reshape(arange(30), (15,2))
> ipy > z[:-3,0]=z[3:,0]
> ipy > z
> out:
> array([[ 6, 1],
> [ 8, 3],
> [10, 5],
> [12, 7],
> [14, 9],
> [16, 11],
> [18, 13],
> [20, 15],
> [22, 17],
> [24, 19],
> [26, 21],
> [28, 23],
> [24, 25],
> [26, 27],
> [28, 29]])
>
> and:
>
> ipy > z=reshape(arange(30), (15,2))
>
> ipy > z[3:,0]=array(z[:-3,0])
>
> ipy > z
> out:
> array([[ 0, 1],
> [ 2, 3],
> [ 4, 5],
> [ 0, 7],
> [ 2, 9],
> [ 4, 11],
> [ 6, 13],
> [ 8, 15],
> [10, 17],
> [12, 19],
> [14, 21],
> [16, 23],
> [18, 25],
> [20, 27],
> [22, 29]])
New description:
numpy 1.0.4.dev3869 with Python 2.5 on Mac OS 10.4.9 (Intel)
Slicing 1 dimension of a 2D array does not have the same effect as using
the same slice on a 1D array. Also, calling "array" on the slice generates
an array different than the slice, and some slice indexes behave
differently than others. I will clarify with examples:
{{{
ipy > z=reshape(arange(30), (15,2))
ipy > z[3:,0]=z[:-3,0]
ipy > z
out:
array([[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 0, 7],
[ 2, 9],
[ 4, 11],
[ 0, 13],
[ 2, 15],
[ 4, 17],
[ 0, 19],
[ 2, 21],
[ 4, 23],
[ 0, 25],
[ 2, 27],
[ 4, 29]])
}}}
but:
{{{
ipy > z=reshape(arange(30), (15,2))
ipy > z[:-3,0]=z[3:,0]
ipy > z
out:
array([[ 6, 1],
[ 8, 3],
[10, 5],
[12, 7],
[14, 9],
[16, 11],
[18, 13],
[20, 15],
[22, 17],
[24, 19],
[26, 21],
[28, 23],
[24, 25],
[26, 27],
[28, 29]])
}}}
and:
{{{
ipy > z=reshape(arange(30), (15,2))
ipy > z[3:,0]=array(z[:-3,0])
ipy > z
out:
array([[ 0, 1],
[ 2, 3],
[ 4, 5],
[ 0, 7],
[ 2, 9],
[ 4, 11],
[ 6, 13],
[ 8, 15],
[10, 17],
[12, 19],
[14, 21],
[16, 23],
[18, 25],
[20, 27],
[22, 29]])
}}}
Comment:
wontfix. This is a consequence of slices of arrays being views of the
original array.
--
Ticket URL: <http://scipy.org/scipy/numpy/ticket/578#comment:1>
NumPy <http://projects.scipy.org/scipy/numpy>
The fundamental package needed for scientific computing with Python.
More information about the Numpy-tickets
mailing list