Python 使用数组作为列填充预定义的numpy数组

Python 使用数组作为列填充预定义的numpy数组,python,arrays,numpy,populate,Python,Arrays,Numpy,Populate,通过阅读Python文档和stackoverflow,我无法理解一些事情。可能我想的方向不对 假设我有一个预定义的2D Numpy数组,如下所示: a = np.zeros(shape=(3,2)) print a array([[ 0., 0.], [ 0., 0.], [ 0., 0.]]) 现在,我想用1D数据数组(一个接一个)填充此2D数组的每一列,如下所示: 如有任何建议,将不胜感激 可以通过切片将以下内容指定给列: >>> a[

通过阅读Python文档和stackoverflow,我无法理解一些事情。可能我想的方向不对

假设我有一个预定义的2D Numpy数组,如下所示:

a = np.zeros(shape=(3,2)) 
print a
array([[ 0.,  0.],
       [ 0.,  0.],
       [ 0.,  0.]])
现在,我想用1D数据数组(一个接一个)填充此2D数组的每一列,如下所示:


如有任何建议,将不胜感激

可以通过切片将以下内容指定给列:

>>> a[:,0] = b
>>> a
array([[ 1.,  0.],
       [ 2.,  0.],
       [ 3.,  0.]])
要一次分配全部而不是一次分配一个,请使用
np.column\u stack

>>> np.column_stack((b, c))
array([[1, 4],
       [2, 5],
       [3, 6]])
如果需要将其放回同一数组中,而不仅仅是具有相同的名称,则可以将其分配给包含整个矩阵的切片(与列表一样常见):


可以通过切片将以下内容指定给列:

>>> a[:,0] = b
>>> a
array([[ 1.,  0.],
       [ 2.,  0.],
       [ 3.,  0.]])
要一次分配全部而不是一次分配一个,请使用
np.column\u stack

>>> np.column_stack((b, c))
array([[1, 4],
       [2, 5],
       [3, 6]])
如果需要将其放回同一数组中,而不仅仅是具有相同的名称,则可以将其分配给包含整个矩阵的切片(与列表一样常见):


非常有用的答案。谢谢你非常有用的回答。谢谢