python:将两列nd-arrays相乘得到相同尺寸的向量?

时间:2014-10-13 09:54:35

标签: python arrays numpy

我有以下代码:

 x = np.random.randint(0,10,size=(10,2))
 y = np.random.randint(0,10,size=(10,2))

x和y是10 x 2矩阵。现在我想要乘以x和y的第二列。我做到了 z = x[:,1] * y[:,1].我得到了结果,但z是1 x 10数组而不是10 x 1数组。有没有什么方法可以直接以10 x 1的形式得到结果,而不需要转置它?

1 个答案:

答案 0 :(得分:6)

不会使精确的列使用切片,而是保留这种形状:

>>> x = np.random.randint(0, 10, size=(10, 2))
>>> y = np.random.randint(0, 10, size=(10, 2))
>>> x[:,1:2] * y[:,1:2]
array([[36],
       [ 0],
       [ 0],
       [45],
       [ 5],
       [28],
       [ 5],
       [12],
       [56],
       [ 6]])