在处理线代时,我们时常用到矩阵的合并,那就缺少不到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]])