簡體   English   中英

將 2d 數組組合到 3d 初始化錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM