首页 > 解决方案 > 将数组与自身连接 n 次

问题描述

[3, 2, 1]给定shape数组(3,),我想将其扩展为 2D 数组(n, 3),向下重复数组,因此 n=3 将是:

[[3, 2, 1],
 [3, 2, 1],
 [3, 2, 1]]

最简单的方法是什么?

(另一种说法:我可以用 li * n 创建一个列表的 n 个副本。有没有办法用数组来做到这一点?如果是这样,我可以将其用作输入并重塑为(n,3)

标签: numpy

解决方案


我们可以使用np.repeat来做到这一点:

x = np.array([3,2,1])

x = x.reshape(1,3) # replace 3 with num elems in your array

np.repeat(a=x, repeats=3, axis=0) # replace 3 with number of repeats you want

>>>
array([[3, 2, 1],
       [3, 2, 1],
       [3, 2, 1]])

希望这有帮助..


推荐阅读