這可能是一個愚蠢的問題,我試圖使用for 循環(huán)將值附加到一個新的空數(shù)組,并將之前定義的名為 3 維數(shù)組的值附加到一個新的空數(shù)組中data_train_normalized,該數(shù)組包含浮點數(shù)。目標(biāo)是最終得到一個名為 的數(shù)組,x該數(shù)組具有data_train_normalized迭代的每個值中的值。例如,x[0]應(yīng)該是值data_train_normalized[1,1,1]此示例代碼總結(jié)了我正在嘗試做的事情:x=np.array([])for z in range(1,4): for x in range(1,4): for y in range(1,4): x = np.append(x,data_train_normalized[z][x][y])這會拋出:IndexError Traceback (most recent call last)<ipython-input-43-b0e7b7ab30e9> in <module>() 3 for x in range(1,4): 4 for y in range(1,4):----> 5 x = np.append(x,data_train_normalized[z][x][y]) 6 # print(data_train_normalized[z][x][y], z, x, y)IndexError: arrays used as indices must be of integer (or boolean) type
2 回答

呼啦一陣風(fēng)
TA貢獻1802條經(jīng)驗 獲得超6個贊
x,y,z 返回到該 3 維數(shù)組的索引是浮點數(shù)!而Python僅支持整數(shù)和布爾值作為數(shù)組索引(錯誤提到了這一點)。
IndexError:?arrays?used?as?indices?must?be?of?integer?(or?boolean)?type.
您可以嘗試將 x 、 y 和 z 轉(zhuǎn)換為 int ,然后將它們作為索引傳遞,只需使用x=int(x) , y = int(y)
另外,如果您只想從 1 開始范圍,那么 range(4) 就可以完成工作!

精慕HU
TA貢獻1845條經(jīng)驗 獲得超8個贊
您正在使用xnp 數(shù)組和for循環(huán)的參數(shù)。使用不同的參數(shù):
arr = np.array([])
for z in range(1,4):
for x in range(1,4):
for y in range(1,4):
arr = np.append(arr, data_train_normalized[z][x][y])
添加回答
舉報
0/150
提交
取消