[Numpy-discussion] indexing question
Todd Miller
jmiller at stsci.edu
Sun Mar 28 04:17:09 EST 2004
On Sat, 2004-03-27 at 23:47, Faheem Mitha wrote:
> On Sat, 27 Mar 2004, Todd Miller wrote:
>
> > On Sat, 2004-03-27 at 19:27, Faheem Mitha wrote:
> > > On Sat, 27 Mar 2004, Todd Miller wrote:
> > >
> > > > Try foo[[0,2]]. Note that the array indexing syntax is a little picky:
> > > > foo[(0,2)] (tuple index) won't work, just foo[[0,2]] (list index) or
> > > > foo[array([0,2])] (array index).
> > >
> > > Thanks. I see this extracts the relevant rows. How about columns?
> >
> > I think for columns you need to transpose the matrix or use take() with
> > the right axis=1.
>
> I see. Thanks. I think that take() does what I need. BTW, this
> documentation example for take looks wrong, and gives an error for me.
>
> *************************************************
> >>> a1 = array([10,20,30,40])
> >>> print a1[[3,5]]
> [40 60]
> >>> print take(a1,[3,5])
> [40 60]
> **************************************************
>
Yes, you're right, that's an error.
> I get
>
> >>> a1 = numarray.array([10,20,30,40])
> >>> a1
> array([10, 20, 30, 40])
> >>> numarray.take(a1,[3,5])
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> File "/usr/lib/python2.3/site-packages/numarray/ufunc.py", line 1776, in
> take
> return array._take((indices,), outarr=outarr, clipmode=clipmode)
> File "/usr/lib/python2.3/site-packages/numarray/numarraycore.py", line
> 498, in _take
> return ufunc._take(self, indices, **keywds)
> File "/usr/lib/python2.3/site-packages/numarray/ufunc.py", line 1579, in
> __call__
> result = self._doit(computation_mode, woutarr, cfunc, ufargs, 0)
> File "/usr/lib/python2.3/site-packages/numarray/ufunc.py", line 1551, in
> _doit
> apply(cfunc, ufargs)
> IndexError: Index[1,0]=5 out of range[4]
>
> >>> a1[[3,5]]
> array([40, 40])
This too looks like an error. Both usages should raise an exception...
and hopefully a prettier one in the future.
Thanks for the questions and feedback.
Regards,
Todd
--
Todd Miller <jmiller at stsci.edu>
More information about the NumPy-Discussion
mailing list