19

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 numpy.random.randn() How can this be done? Thanks.

Community
  • 1
  • 1
TheGrapeBeyond
  • 543
  • 2
  • 8
  • 19

1 Answers1

52

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])
print(a.shape)
# outputs: (2, 3)
b = np.random.randn(*a.shape)
print(b.shape)
# outputs: (2, 3)
Graham
  • 7,431
  • 18
  • 59
  • 84
Chris Mueller
  • 6,490
  • 5
  • 29
  • 35