I can slice but I can't assign
Keith Goodman
kwgoodman at gmail.com
Sun Nov 12 14:18:51 CST 2006
On 11/12/06, Keith Goodman <kwgoodman at gmail.com> wrote:
> >> x = M.matrix([[1, 2], [3, 4]])
> >> x
> matrix([[1, 2],
> [3, 4]])
>
> >> y = M.matrix([[5], [6]])
> >> y
> matrix([[5],
> [6]])
>
> >> idx = M.where(x[:,0].A < 100)[0]
> >> idx
> array([0, 1])
>
>
> >> x[idx,0] # <---- This works
> matrix([[1],
> [3]])
>
> >> x[idx,0] = y # <---- But this doesn't work. How can I make it work?
>
> ValueError: array is not broadcastable to correct shape
Awkward, but it works:
>> idx = M.asmatrix(idx)
>> idx
matrix([[0, 1]])
>> idx = idx.T
>> idx
matrix([[0],
[1]])
>> x[idx,0] = y
But it does seem odd to me that the array idx in the original example
works for a slice but for not an assignment.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
More information about the Numpy-discussion
mailing list