Python 使用数组作为列填充预定义的numpy数组
通过阅读Python文档和stackoverflow,我无法理解一些事情。可能我想的方向不对 假设我有一个预定义的2D 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[
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]])
如果需要将其放回同一数组中,而不仅仅是具有相同的名称,则可以将其分配给包含整个矩阵的切片(与列表一样常见):
非常有用的答案。谢谢你非常有用的回答。谢谢