2016-08-09 3 views
1

Этот вопрос here был полезен, но мой немного отличается.Создайте случайную матрицу numpy того же размера, что и другая.

Я пытаюсь сделать что-то простое здесь, у меня есть Numpy матрицу , и я просто хочу, чтобы создать еще один Numpy матрицу B, такой же формы, как , но я хочу B которое должно быть создано от numpy.random.randn() Как это можно сделать? Благодарю.

ответ

11

np.random.randn принимает форму массива как своего ввода, который вы можете получить непосредственно из свойства shape первого массива. Вам необходимо распаковать a.shape с оператором *, чтобы получить правильный ввод для 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) 
+2

Спасибо! Но что с «*»? – TheGrapeBeyond

+1

@ TheGrapeBeyond Он распаковывает аргументы. Посмотрите на [этот вопрос] (http://stackoverflow.com/questions/2921847/what-does-the-star-operator-mean-in-python). –

+0

Очень интересно. Спасибо, TIL. – TheGrapeBeyond

Смежные вопросы