numpy随机函数为给定参数创建不一致的形状

时间:2018-09-01 19:54:37

标签: python python-3.x numpy random

我发现numpy的random number generators行为异常。 似乎它们不能为给定参数生成一致的矩阵形状。 后来我花了额外的钱进行转换,这真是太烦人了,我想绕开它。 如何直接告诉matlib.randn生成大小为(200,)的向量?

import numpy as np
A = np.zeros((200,))
B = np.matlib.randn((200,))
print(A.shape)    # prints (200,)
print(B.shape)    # prints (1, 200)

2 个答案:

答案 0 :(得分:1)

使用numpy.random代替numpy.matlib

numpy.random.randn(200).shape # prints (200,)

numpy.random.randn可以创建任何形状,而numpy.matlib.randn始终可以创建矩阵。

答案 1 :(得分:1)

B是matrix对象,而不是ndarray。矩阵对象没有一维等效对象,因此不建议再使用它,因此应改为使用np.random.random