1
說我有:更換循環,在軸與廣播
a = np.array([[2, 4],
[6, 8]])
b = np.array([[1, 3],
[1, 5]])
我想要去:
c = np.array([[20,32],
[28, 44]])
其中c
是b
的a
每一列相乘的結果,那麼將沿第一軸的結果相加。
即:
print(np.sum(a[:, 0] * b, axis=1))
[20 32]
print(np.sum(a[:, 1] * b, axis=1))
[28 44]
我可以通過廣播做,而不是:使用
np.apply_along_axis
或- 通過每列循環?
1+,比賽。 –
對於更小的陣列,'einsum'會更慢,更大的會更快? –
@BradSolomon如果沒有座標軸對齊的要求,我會認爲當你增加減少的數量,即使用大型數組時,'np.dot'會更好。 – Divakar