[Numpy-discussion] indexing bug in numpy r2694
Keith Goodman
kwgoodman at gmail.com
Wed Jun 28 13:26:03 EDT 2006
>> x = asmatrix(rand(3,2))
>> y = asmatrix(rand(3,1))
>> y
matrix([[ 0.77952062],
[ 0.97110465],
[ 0.77450218]])
>> idx = where(y > 0.5)[0]
>> idx
matrix([[0, 1, 2]])
>> x[idx,:]
matrix([[ 0.24837887, 0.52988253],
[ 0.28661085, 0.43053076],
[ 0.05360893, 0.22668509]])
So far everything works as it should. Now the problem:
>> y[idx,:]
---------------------------------------------------------------------------
exceptions.ValueError Traceback (most
recent call last)
/usr/local/lib/python2.4/site-packages/numpy/core/defmatrix.py in
__getitem__(self, index)
120
121 def __getitem__(self, index):
--> 122 out = N.ndarray.__getitem__(self, index)
123 # Need to swap if slice is on first index
124 retscal = False
/usr/local/lib/python2.4/site-packages/numpy/core/defmatrix.py in
__array_finalize__(self, obj)
116 self.shape = (1,1)
117 elif ndim == 1:
--> 118 self.shape = (1,self.shape[0])
119 return
120
ValueError: total size of new array must be unchanged
And, on a related note, shouldn't this be a column vector?
>> x[idx,0]
matrix([[ 0.24837887, 0.28661085, 0.05360893]])
More information about the NumPy-Discussion
mailing list