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

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

如何將 2D np 數組添加到 3D np 數組的前面?

如何將 2D np 數組添加到 3D np 數組的前面?

莫回無 2022-11-09 16:17:45
我有一個 3Dnumpy數組,我想在它的前面添加一個 0 的 2D np 數組。import numpy as npA = np.zeros(3,3,3)for i in np.arange(0,2):    for j in np.arange(0,2):        for k in np.arange(0,2):            A[i,j,k] = 10print(A)#returns: [[[10. 10.  0.]  [10. 10.  0.]  [ 0.  0.  0.]] [[10. 10.  0.]  [10. 10.  0.]  [ 0.  0.  0.]] [[ 0.  0.  0.]  [ 0.  0.  0.]  [ 0.  0.  0.]]]我想添加另一個數組 B 以便:B = np.zeros(3,3)print(B)#returns [[0. 0. 0.] [0. 0. 0.] [0. 0. 0.]]# add B to front of A # B + A = [[[0.  0.  0.]  [0.  0.  0.]  [0.  0.  0.]] [[10. 10.  0.]  [10. 10.  0.]  [ 0.  0.  0.]] [[10. 10.  0.]  [10. 10.  0.]  [ 0.  0.  0.]] [[ 0.  0.  0.]  [ 0.  0.  0.]  [ 0.  0.  0.]]]我試過 np.append(B,A) 但它返回一個二維數組。
查看完整描述

1 回答

?
ibeautiful

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

您可以使用numpy.vstack并通過重塑您的陣列來做到這一點。例如:


import numpy as np


a = np.ones((3, 3, 3))

b = np.zeros((3, 3))

res = np.vstack((b.reshape(1, 3, 3), a))

順便說一句,您可以A更有效地創建數組:


import numpy as np


A = np.zeros((3,3,3))

A[:2, :2, :2] = 10


查看完整回答
反對 回復 2022-11-09
  • 1 回答
  • 0 關注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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