我有两个numpy数组,X和y。 X的大小为m,y的大小为n。我需要将y的每个元素乘以X的每个元素,然后总结。
像[sum(X[0]*y) sum(X[1]*y) sum(X[n]*y)]
这就是我的意思
np.sum(X[:, np.newaxis] * y, axis=1)
然而,通常X和y非常大而且这样做
X[:, np.newaxis] * y
创建了一个巨大的临时数组,它会炸毁一些东西。有没有更好的方法来实现这个?
答案 0 :(得分:4)
如果您将y
的每个元素乘以X
的每个元素,只需先将X
的所有元素相乘,然后使用乘以数组{{1}通过这个数字和总和:
y
编辑:您可以通过将数组num = X.prod()
(num * y).sum()
乘以X
的元素之和来获得您指定的数组:
y