我需要使用索引列表將 3d NumPy 數(shù)組的多個(gè)值替換為其他值。例如:old_array = np.full((224,224,3),10)# in below list first position element are indexes and 2nd one are their corresponding valueslist_idx_val = [[array([[ 2, 14, 0], [ 2, 14, 1], [ 2, 14, 2], [99, 59, 1], [99, 61, 1], [99, 61, 2]], dtype=uint8), array([175, 168, 166,119, 117, 119], dtype=uint8)]#need to doold_array[2,14,1] =168一種方法是簡(jiǎn)單地訪問(wèn)索引值并用新值替換舊值。但 NumPy 數(shù)組和索引列表相當(dāng)大。我將非常感謝一個(gè)快速有效的解決方案(沒(méi)有循環(huán),最好是切片或其他可能)來(lái)替換數(shù)組值,因?yàn)槲倚枰ㄟ^(guò)使用這樣的索引列表以最小的延遲替換值來(lái)創(chuàng)建數(shù)千個(gè)數(shù)組。
1 回答

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
讓我們進(jìn)行數(shù)組索引:
idx, vals = list_idx_val old_array[idx[:,0], idx[:,1], idx[:,2]] = vals
輸出 (plt.show
):
添加回答
舉報(bào)
0/150
提交
取消