np.stack与np.concatenate区别

 stack源码中有一code, result_ndim = arrays[0].ndim + 1 ,在原来的维度上增加了一个维度
 Join a sequence of arrays along a new axis. 在新增加的维度上进行连接。
	
	
 concatenate不增加新的维度
 Join a sequence of arrays along an existing axis. 在现有的维度是进行叠加,没有加入新的维度

需要特别注意的点:

vstack:
Stack arrays in sequence vertically (row wise).
This is equivalent to concatenation **along the first axis**(第一个维度) after 1-D arrays of shape (N,) have been reshaped to (1,N). Rebuilds arrays divided by vsplit.

hstack同理, 只不过是沿着second axis(第二个维度)

很多人的第一感觉肯定是vstack 与hstack 是和stack最像的,其实不是这样的,感觉是不好使的。

本质是:hstack 和vstack是和 concatenate函数是一样的
和stack函数是有本质的区别(stack函数合并后的矩阵中相比于之前的矩阵增加一个维度)

猜你喜欢

转载自blog.csdn.net/weixin_36149892/article/details/86657314