python - Flatten numpy array without double for loop -


i have 2-d matrix. purposes of example, let's random matrix

>>> = np.random.randn(5, 7) >>> array([[-0.37279322,  0.28619523, -0.05309901,  0.26010327,  0.1846693 , 0.33112176,  0.75814911],        [ 1.57001151, -0.86831693, -0.20576395,  1.46450855, -0.01631132, 3.02790403, -0.65313017],        [ 0.2362675 , -1.52190536,  0.04687194,  2.01618876,  0.03780218, -0.53041096, -0.30104844],        [-0.5504834 ,  1.04286156,  1.12863785,  0.89583492,  0.28607363, 1.42858007,  0.28582572],        [-0.768464  ,  0.31952554,  0.81129581,  0.26239668, -0.23242878, -1.01584339,  0.39573906]]) 

and 2 vectors of labels:

label_y = np.array([23, 984, 123, 9321, 121238]) label_x = np.array([121, 31312, 9123131, 1111, 1231441, 1929313, 192312312361]) 

i'd flatten elements of , output label indeces , values. example:

23,121,-0.37279322  23,31312,0.28619523  23,9123131,-0.05309901  23,1111,0.26010327 23,1231441,0.1846693 23,1929313,0.33112176 23,192312312361,0.75814911  984,121,... ... 

is there easy way of doing in numpy without loops?

use np.meshgrid create 2d meshes corresponding x , y labels , stack them columns alongwith 2d input array a, -

x,y = np.meshgrid(label_x,label_y) out = np.column_stack((y.ravel(),x.ravel(),a.ravel())) 

Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -