[Numpy-discussion] indexing bug in numpy r2694

Pau Gargallo pau.gargallo at gmail.com
Wed Jun 28 13:25:14 CDT 2006


On 6/28/06, Keith Goodman <kwgoodman at gmail.com> wrote:
> On 6/28/06, Pau Gargallo <pau.gargallo at gmail.com> wrote:
> > i don't know why 'where' is returning matrices.
> > if you use:
> >
> > >>> idx = where(y.A > 0.5)[0]
> >
> > everything will work fine (I guess)
>
> What about the second issue? Is this expected behavior?
>
> >> idx
> array([0, 1, 2])
>
> >> y
>
> matrix([[ 0.63731308],
>        [ 0.34282663],
>        [ 0.53366791]])
>
> >> y[idx]
>
> matrix([[ 0.63731308],
>        [ 0.34282663],
>        [ 0.53366791]])
>
> >> y[idx,0]
> matrix([[ 0.63731308,  0.34282663,  0.53366791]])
>
> I was expecting a column vector.
>
I have never played with matrices, but if y was an array, y[idx,0]
will be an array of the same shape of idx. That is a 1d array.
I guess that when y is a matrix, this 1d array is converted to a
matrix and become a row vector.

I don't know if this behaviour is wanted :-(

cheers,
pau




More information about the Numpy-discussion mailing list