当减去numpy. narray()为列向量(维数[m,1])时的维度



我要减去2个numpy。ndarrayhy,形状分别为(47,1)和(47,)。当我使用python减去下面两个函数时,返回形状为(47,47)的数组。我知道从数学上讲,这个操作应该保持输入数组的维数,但它不是这样工作的。

我使用的操作是:

e = h - y
e = np.subtract(h,y)

这是关于操作的numpy,还是我应该使用其他类型的操作?我如何修复它,使结果数组的尺寸与正确的数学匹配?

对于您提到的元素减法,hy的形状应该是相同的。你所描述的两种方法是相同的。下面的代码可以工作

import numpy as np
a = np.array([1,2,3,4,5,6,7])
b = np.array([[1,2,3,4,5,6,7]])
print(a.shape)    # (7,)
print(b.shape)    # (1,7)
c = a-b          # or np.subtract(a,b)
print(c.shape)   # (1,7)
print(c)         # [[0,0,0,0,0,0,0]]

可能其中一个数组被调换了。a-b.T的形状是(7,7),正如你所描述的。

编辑

我忘了你描述了一个列向量。在这种情况下,下面的代码可以完成元素减法:

h.T-y

相关内容

  • 没有找到相关文章