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