我有一些矩阵: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 的方式来做到这一点?谢谢
1 回答

眼眸繁星
TA贡献1873条经验 获得超9个赞
与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.
添加回答
举报
0/150
提交
取消