Numpy - 创建数组副本的多维数组

MrS*_*Sir 2 python arrays numpy multidimensional-array numpy-ndarray

我想生成一个有序数字数组,然后将其乘以另一个数组:

[ [0,1,2,3,4,5] [0,1,2,3,4,5] [0,1,2,3,4,5] ... [0,1,2,3,4,5] ]
Run Code Online (Sandbox Code Playgroud)

我可以生成第一个 [0,1,2,3,4,5] nums = np.arange(0, 6),但是如果我乘以列表中的一个数字,它只会增加值 = [nums* 3] = [0,3,6,9,12,15]。我怎样才能做到这一点 ?

sac*_*cuL 7

使用numpy方法(numpy.repeatnumpy.expand_dims):

np.repeat(np.expand_dims(np.arange(0,6), axis=0), repeats=5, axis=0)

array([[0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5]])
Run Code Online (Sandbox Code Playgroud)

或者,更简单地说:

np.repeat([np.arange(0,6)],repeats=5, axis=0)
Run Code Online (Sandbox Code Playgroud)

如果您尝试扩展预先存在的一维数组,第一种方法很有用。如果您尝试从一开始就创建数组,则第二种方法更简单。