我正試圖在數組「out_der」的「out_max」中找到每個元素的位置。我想將每個值的位置索引存儲在名爲「out_pos」的數組中。 「out_der」是400x300x60x27陣列,「out_max」是400x300x60陣列。 「out_pos」也應該是400x300x60陣列。我嘗試將「out_der」轉換爲列表並使用.index()
,但那不起作用(因爲列表中只有400個元素)。這是我目前的嘗試:嘗試查找數組值的位置時發生索引錯誤
輸入:
out_max=[]
out_pos=[]
out_max=np.amax(out_der,axis=3)
for i in range(0,len(out_der)-1):
out_pos[i]=np.where(out_der==out_max[i])[0]
但我得到這個錯誤:
OUTPUT:
18 for i in range(0,len(out_der)-1):
---> 19 out_pos[i]=np.where(out_der==out_max[i])[0]
IndexError: list assignment index out of range
'out_pos'在開始時是一個空列表,所以所有的索引都超出範圍。你可能想要「追加」,但我不確定我清楚你在做什麼。 – roganjosh
除了之前的註釋:將'out_pos'初始化爲'out_pos = [[]] * len(out_der)''。 – DyZ
換句話說,錯誤來自'out_pos [i] ='。這與numpy無關。 – roganjosh