我有一個二維陣列,索引指向另一個陣列:
indexarray = np.array([[0,0,1,1],
[1,2,3,0]])
這些索引所指的陣列是:
valuearray = np.array([8,7,6,5])
我想得到一個陣列,其中的數字valuearray為indexarray,該陣列中的每個專案都對應valuearray于 中相同位置的索引值indexarray,即:
targetarray = np.array([[8,8,7,7],
[7,6,5,8]])
我如何在沒有迭代的情況下做到這一點?
我現在要做的是實作這一目標:
np.apply_along_axis(func1d = lambda row: valuearray[row],axis=0,arr = indexarray)
如果有更簡單的方法,我很感興趣。
uj5u.com熱心網友回復:
一種方法是展平索引陣列并獲取值并將其重新整形,如下所示。
targetarray = valuearray[indexarray.flatten()].reshape(indexarray.shape)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/394798.html
