繁体   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