TheGrapeBeyond TheGrapeBeyond - 1 year ago 120
Python Question

Create random numpy matrix of same size as another.

This question here was useful, but mine is slightly different.

I am trying to do something simple here, I have a numpy matrix A, and I simply want to create another numpy matrix B, of the same shape as A, but I want B to be created from

How can this be done? Thanks.

Answer Source

np.random.randn takes the shape of the array as its input which you can get directly from the shape property of the first array. You have to unpack a.shape with the * operator in order to get the proper input for np.random.randn.

a = np.zeros([2, 3])
# outputs: (2, 3)
b = np.random.randn(*a.shape)
# outputs: (2, 3)