[英]Combining 2d arrays to 3d initialization error
所以我知道如何將 2 個 2d 數組組合成一個 3d。 我做了這樣的事情:
a = np.arange(25).reshape(5,5)
b = np.arange(26,51).reshape(5,5)
c = np.stack((a,b))
這似乎工作正常。 問題是我需要遍歷一個循環來堆疊多個二維數組,我需要輸入這種二維數組的數量(即 # 未知)。
所以我做了:
t = np.array([]).reshape(0,5,5)
t = np.stack((t,a)) #loop over each 2d array represented by a
我收到此錯誤:
----> 1 t = np.stack((t,a)) 中的 ValueError 回溯(最近一次調用)
< array_function internals> in stack(*args, **kwargs)
~/anaconda3/envs/pytorch/lib/python3.7/site-packages/numpy/core/shape_base.py in stack(arrays, axis, out) 423 shape = {arr.shape for arr in arrays} 424 if len(形狀) != 1: --> 425 raise ValueError('所有輸入數組必須具有相同的形狀') 426 427 result_ndim = arrays[0].ndim + 1
ValueError:所有輸入數組必須具有相同的形狀
請問有什么建議嗎? 謝謝!
沒關系。 我這樣做了:
data = np.empty((0,25))
data = np.vstack((data,one_row(random.randint(1, 3)))) #one_row returns a 1d array
input_data = np.reshape(input_data,(num_samples,5,5))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.