通俗易懂解释hstack和vstack

在处理线代时,我们时常用到矩阵的合并,那就缺少不到hstack和vstack函数的帮助

stack表示堆叠,却并没有表示方向,所以我们需要制定一个堆叠方向,其中

np.hstack()定义是column wise的堆叠,即一列一列的合并,矩阵变化方向是按照horizontal的方向,即第二轴方向,名称中的h即是horizontal的缩写

example:

>>> a = np.array((1,2,3))
>>> b = np.array((2,3,4))
>>> np.hstack((a,b))
array([1, 2, 3, 2, 3, 4])
>>> a = np.array([[1],[2],[3]])
>>> b = np.array([[2],[3],[4]])
>>> np.hstack((a,b))
array([[1, 2],
       [2, 3],
       [3, 4]])

同理,np.vstack()定义则为row wise,一行一行的合并,矩阵变化方向是按照vertical的方向,即第一轴方向,名称中的v即是vertical的缩写

example:

>>> a = np.array([1, 2, 3])
>>> b = np.array([2, 3, 4])
>>> np.vstack((a,b))
array([[1, 2, 3],
       [2, 3, 4]])

>>> a = np.array([[1], [2], [3]])
>>> b = np.array([[2], [3], [4]])
>>> np.vstack((a,b))
array([[1],
       [2],
       [3],
       [2],
       [3],
       [4]])

 

你可能感兴趣的:(通俗易懂解释hstack和vstack)