我有一個2d索引數組。多個索引的Numpy數組替換爲不同的矩陣
indices = [[2,4], [6,77], [102,554]]
現在,我有一個不同的4維陣列,ARR,我想僅與索引陣列中相應的索引中提取的陣列(它是一個數組,因爲它是4維)。它等同於下面的代碼。
for i in range(len(indices)):
output[i] = arr[indices[i][0], indices[i][1]]
但是,我意識到使用顯式for循環會產生緩慢的結果。是否有任何可以使用的內置numpy API?在這一點上,我嘗試使用np.choose,np.put,np.take,但沒有成功獲得我想要的。謝謝!
第一種方法比使用顯式for循環更快嗎? –
@AverageAlgorithmGuy如果你已經有'indices'作爲一個數組,我會用第一種方法去,否則去第二個。 – Divakar