如何将1D numpy数组添加到2D numpy数组的第一列?

时间:2020-05-15 22:29:57

标签: python arrays numpy

我想将1D numpy数组添加到2D numpy数组吗?

例如:

Array1: 0  0
        0  0
        0  0

Array2: 1,2,3

Result: 1  0
        2, 0
        3, 0

如何在python中做到这一点?

2 个答案:

答案 0 :(得分:1)

import numpy as np

x = np.zeros((3,2))
y = np.array([1,2,3])

x[:, 0] += y

答案 1 :(得分:0)

我们可以将其作为矢量操作,而不是循环进行:

import numpy as np
array1 = np.array([[0, 0], [0,0],[0,0]]) 
array2 = np.array([1,2,3])  

请注意,array1的转置的第一个元素是您要向其添加array2的列向量:

array1.T[0]                                                                                                                                                                                          
Out[10]: array([0, 0, 0])

所以我们可以:

array1.T[0] = array1.T[0] + array2                                                                                                                                                                   
array1                                                                                                                                                                                               

Out[12]: 
array([[1, 0],
       [2, 0],
       [3, 0]])