numpy重复元素

时间:2012-12-20 09:31:55

标签: python arrays numpy expand

也许这是一个简单的问题,但有没有一种快速的方法来复制数组中的元素? 它应该像3D一样工作:

1 2 3
4 5 6
7 8 9

1 1 2 2 3 3
1 1 2 2 3 3
4 4 5 5 6 6
4 4 5 5 6 6
7 7 8 8 9 9
7 7 8 8 9 9

我尝试了3个嵌套的for循环,但这真的很慢。

1 个答案:

答案 0 :(得分:6)

>>> a = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])
>>> np.repeat(np.repeat(a, 2, 0), 2, 1)

array([[1, 1, 2, 2, 3, 3],
       [1, 1, 2, 2, 3, 3],
       [4, 4, 5, 5, 6, 6],
       [4, 4, 5, 5, 6, 6],
       [7, 7, 8, 8, 9, 9],
       [7, 7, 8, 8, 9, 9]])