2017-09-26 130 views
0

我想創建一個3d numpy數組形式使用for循環的2D numpy數組我嘗試了許多不同的方法來從2D創建3D數組,但每次它給我的錯誤。這就是我所做的,最後一個數組的維數應該是(10,3,3)如何使用for循環動態創建2D numpy數組的3d numpy數組

#this is a sample code 
arr=[] 
for i in range(10): 
    a=np.random.rand(3,3) 
    arr=np.stack(a,arr) 
    #arr=np.append(arr,a) 
    #arr=np.array([arr,a]) 
    #arr[i]=a 

回答

1

您可以將使用list.append方法2d陣列的arr列表中,您與做了循環後,用np.array轉換arr3d陣列通過包裝它:

arr = [] 
for i in range(10): 
    a = np.random.rand(3,3) 
    arr.append(a) 

np.array(arr).shape 
# (10, 3, 3) 

或者numpy.stack

np.stack(arr).shape 
# (10, 3, 3)