我有一些矩陣: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
提交
取消