参考官方文档:https://docs.scipy.org/doc/
按顺序垂直堆叠数组(按行)。
这相当于将形状(n,)的一维数组整形为(1,n)后沿第一个轴的连接。重建按vsplit划分的数组。
此函数对三维数组最有意义。例如,对于具有高度(第一个维度)、宽度(第二个维度)和R/G/B通道(第三个维度)的像素数据。函数concatenate、stack和block提供了更通用的堆栈和连接操作。
参数: | tup:ndarrays序列 数组必须沿除第一个维度以外的所有维度相同。一维数组的长度必须相同。 |
返回: | 通过堆叠给定数组形成的数组,至少二维。 |
>>> 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]])
水平(按列)按顺序堆叠数组。
这相当于沿第二个维度的连接,除了一维数组,它沿第一个维度连接。重建被hsplit分割的数组。
此函数对三维数组最有意义。例如,对于具有高度(第一个维度)、宽度(第二个维度)和R/G/B通道(第三个维度)的像素数据。函数concatenate、stack和block提供了更通用的堆栈和连接操作。
参数: | tup:ndarrays序列 数组必须沿除第二个维度以外的所有维度相同,但可以是任意长度的一维数组。 |
返回: | 通过堆叠给定数组而形成的数组。 |
>>> import numpy as np
>>> x1=[[1],[1],[1],[1]]
>>> y1=[[2],[2],[2],[2]]
>>> x2=[[3],[3],[3],[3]]
>>> y2=[[4],[4],[4],[4]]
>>> res=np.hstack((x1,y1,x2,y2))
>>> print(res)
[[1 2 3 4]
[1 2 3 4]
[1 2 3 4]
[1 2 3 4]]
>>> l=[[1,4],[1,4],[1,4],[1,4]]
>>> res=np.hstack((x1,y1,x2,y2,l))
>>> print(res)
[[1 2 3 4 1 4]
[1 2 3 4 1 4]
[1 2 3 4 1 4]
[1 2 3 4 1 4]]