我有以下代码:
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
的形式得到结果,而不需要转置它?
答案 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]])