numpy矩阵乘法每个col和sum

我有一些矩阵:


A = np.array([[0.8, 0.2],

              [0.4, 0.6]])

B = np.array([0.4, 0.2])

C = np.array([0.28, 0.06])

我想做的是:


S = A.shape[0]

what_I_need = np.zeros([S])

for s in range(S):

    what_I_need[s] = np.sum(A[:, s] * C) * B[s]

print(what_I_need)

结果是


[0.0992 0.0184]

在没有 for 循环的情况下,是否有一种优雅的或 pythonic 的方式来做到这一点?谢谢


catspeake
浏览 178回答 1
1回答

眼眸繁星

与matrix-multiplication-A.T.dot(C)*B # or C.dot(A)*B只需一个电话np.einsum-np.einsum('ij,i,j->j',A,C,B) #use `optimize` flag for better perf.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python