array1.shape给(180,)
array2.shape给(180,1)
两者有什么区别?
由于这种差异,我无法使用
np.vstack((array2, array1))
我应该对array1形状进行哪些更改,以便可以将它们堆叠起来?
解决方法:
让我们定义一些数组:
>>> x = np.zeros((4, 1))
>>> y = np.zeros((4))
这些数组无法堆叠:
>>> np.vstack((x, y))
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3/dist-packages/numpy/core/shape_base.py", line 230, in vstack
return _nx.concatenate([atleast_2d(_m) for _m in tup], 0)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
但是,通过简单的更改,它们将堆叠:
>>> np.vstack((x, y[:, None]))
array([[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.],
[ 0.]])
或者:
>>> np.vstack((x[:, 0], y))
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
标签:python,numpy
来源: https://codeday.me/bug/20191118/2026219.html