[英]How to efficiently create a 3D array from 2D arrays in python using numpy in a loop?
[英]How to dynamically create 3d numpy arrays from 2d numpy arrays using for loop
我想使用for循環從2d numpy數組創建3d numpy數組。我嘗試了多種方法從2d創建3d數組,但是每次都會給我錯誤。 這就是我所做的,結束數組的尺寸應為(10,3,3)
。
#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
您可以使用list.append
方法將2d
數組追加到arr
列表中,並在完成for循環后,通過用np.array
包裝將arr
轉換為3d
數組:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.