亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試附加 for 循環時出現 IndexError

嘗試附加 for 循環時出現 IndexError

Helenr 2023-08-08 17:52:08
這可能是一個愚蠢的問題,我試圖使用for 循環將值附加到一個新的空數組,并將之前定義的名為 3 維數組的值附加到一個新的空數組中data_train_normalized,該數組包含浮點數。目標是最終得到一個名為 的數組,x該數組具有data_train_normalized迭代的每個值中的值。例如,x[0]應該是值data_train_normalized[1,1,1]此示例代碼總結了我正在嘗試做的事情: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 回答

?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

x,y,z 返回到該 3 維數組的索引是浮點數!而Python僅支持整數布爾值作為數組索引(錯誤提到了這一點)。

IndexError:?arrays?used?as?indices?must?be?of?integer?(or?boolean)?type.

您可以嘗試將 x 、 y 和 z 轉換為 int ,然后將它們作為索引傳遞,只需使用x=int(x) , y = int(y)

另外,如果您只想從 1 開始范圍,那么 range(4) 就可以完成工作!


查看完整回答
反對 回復 2023-08-08
?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您正在使用xnp 數組和for循環的參數。使用不同的參數:


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])


查看完整回答
反對 回復 2023-08-08
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號