我有一些矩陣: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)結(jié)果是[0.0992 0.0184]在沒(méi)有 for 循環(huán)的情況下,是否有一種優(yōu)雅的或 pythonic 的方式來(lái)做到這一點(diǎn)?謝謝
1 回答

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
與matrix-multiplication
-
A.T.dot(C)*B # or C.dot(A)*B
只需一個(gè)電話np.einsum
-
np.einsum('ij,i,j->j',A,C,B) #use `optimize` flag for better perf.
添加回答
舉報(bào)
0/150
提交
取消