From: Pau G. <pau...@gm...> - 2006-06-28 18:25:18
|
On 6/28/06, Keith Goodman <kwg...@gm...> wrote: > On 6/28/06, Pau Gargallo <pau...@gm...> 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 |