[Numpy-discussion] Selecting columns of a matrix (original) (raw)
Keith Goodman kwgoodman at gmail.com
Tue Jun 20 23:49:26 EDT 2006
- Previous message (by thread): [Numpy-discussion] Selecting columns of a matrix
- Next message (by thread): [Numpy-discussion] Selecting columns of a matrix
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 6/20/06, Bill Baxter <wbaxter at gmail.com> wrote:
I think that one's on the NumPy for Matlab users, no?
http://www.scipy.org/NumPyforMatlabUsers >>> import numpy as num >>> a = num.arange (10).reshape(2,5) >>> a array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) >>> v = num.rand(5) >>> v array([ 0.10934855, 0.55719644, 0.7044047 , 0.19250088, 0.94636972]) >>> num.where(v>0.5) (array([1, 2, 4]),) >>> a[:,num.where(v>0.5)] array([[[1, 2, 4]], [[6, 7, 9]]]) Seems it grows an extra set of brackets for some reason. Squeeze will get rid of them. >>> a[:,num.where(v>0.5)].squeeze() array([[1, 2, 4], [6, 7, 9]]) Not sure why the squeeze is needed. Maybe there's a better way.
Thank you.
That works for arrays, but not matrices. So do I need to do
asarray(a)[:, where(asarray(v)>0.5)].squeeze()
?
- Previous message (by thread): [Numpy-discussion] Selecting columns of a matrix
- Next message (by thread): [Numpy-discussion] Selecting columns of a matrix
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]