将二维数组中的每个元素重复到二维输出

Repeat every element in a 2D array to a 2D output

我有一个像这样的二维数组 -

import numpy as np

arr = np.array([(1,2),(4,6)])

我想要这个输出 -

arr2 = array([1,1,2,2], [4,4,6,6])

到目前为止我得到的是一维输出:

arr2=[]
for i in range(len(arr)):
    a = arr[i,:]
    for j in range(len(a)):
        arr2.append(a[j])
        arr2.append(a[j])

np.array(arr2)
array([1, 1, 2, 2, 4, 4, 6, 6])

如有任何建议,我们将不胜感激。谢谢。

您可以使用 np.repeat:

arr = np.repeat(arr, 2).reshape((2, -1))
print(arr)

打印:

[[1 1 2 2]
 [4 4 6 6]]