在Python中重复行和列

在Python中重复行和列,python,numpy,matrix,array-broadcasting,Python,Numpy,Matrix,Array Broadcasting,我试图制作两个600x800矩阵(X和Y),如下所示: -X每行有0到600个 -Y每列有800到0 我的想法是按照以下思路做一些事情: N = np.arange(0, 600, 1) M = np.arange(0, 800, 1) X = np.zeros((800, 600)) Y = np.zeros((800, 600)) 从这里开始,将N放入X中的每一行,并将M[:-1]放入Y中的每一列,但我不知道该如何操作。你很幸运,因为NumPy在这一行中有一个内置的任务- 样本运

我试图制作两个600x800矩阵(
X
Y
),如下所示:
-
X
每行有0到600个
-
Y
每列有800到0

我的想法是按照以下思路做一些事情:

N = np.arange(0, 600, 1)  
M = np.arange(0, 800, 1)

X = np.zeros((800, 600))  
Y = np.zeros((800, 600))

从这里开始,将
N
放入
X
中的每一行,并将
M[:-1]
放入
Y
中的每一列,但我不知道该如何操作。

你很幸运,因为NumPy在这一行中有一个内置的任务-

样本运行-

In [2]: N
Out[2]: array([0, 1, 2, 3, 4, 5])

In [3]: M
Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7])

In [4]: X,Y = np.meshgrid(N,M[::-1])

In [5]: X
Out[5]: 
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],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5],
       [0, 1, 2, 3, 4, 5]])

In [6]: Y
Out[6]: 
array([[7, 7, 7, 7, 7, 7],
       [6, 6, 6, 6, 6, 6],
       [5, 5, 5, 5, 5, 5],
       [4, 4, 4, 4, 4, 4],
       [3, 3, 3, 3, 3, 3],
       [2, 2, 2, 2, 2, 2],
       [1, 1, 1, 1, 1, 1],
       [0, 0, 0, 0, 0, 0]])

因为这个问题也被标记为,所以我会在初始化为零(如问题中所列)后添加另一种使用它的方法,如下所示-

m,n = M.size, N.size    # Size parameters

X = np.zeros((m,n),dtype=N.dtype)
Y = np.zeros((m,n),dtype=M.dtype)

X += N
Y += M[::-1,None]

令人惊叹的!这比我想象的要容易得多。。谢谢大家!@丹妮尔·斯金纳:是的,所有这些都是一步完成的!:)
m,n = M.size, N.size    # Size parameters

X = np.zeros((m,n),dtype=N.dtype)
Y = np.zeros((m,n),dtype=M.dtype)

X += N
Y += M[::-1,None]