1
我想切片數組,以便我可以使用它來執行任意維度的另一個數組的操作。換句話說,我做了以下內容:根據需要附加np.newaxis
A = np.random.rand(5)
B = np.random.rand(5,2,3,4)
slicer = [slice(None)] + [None]*(len(B.shape)-1)
result = B*A[slicer]
有一些語法,我可以使用,這樣我就不需要建立slicer
?
重塑可能是一個選項:'B * A.reshape(A.shape +(1)*(B.ndim-1))',但基本上是一樣的。 – Divakar
你的代碼讓我想起expand_dims在內部做了什麼,除了只增加了1個軸。廣播默認是向另一個方向擴展。用你自己的功能來包裝這個動作可能是最簡單的。 – hpaulj