Numpy中stack(),hstack(),vstack()函数详解
来自:https://blog.csdn.net/csdn15698845876/article/details/73380803
np.vstack:按垂直方向(行顺序)堆叠数组构成一个新的数组
In[3]: import numpy as np In[4]: a = np.array([[1,2,3]]) a.shape Out[4]: (1, 3) In [5]: b = np.array([[4,5,6]]) b.shape Out[5]: (1, 3) In [6]: c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加 print(c) c.shape # 输出形状为(2,3) [[1 2 3] [4 5 6]] Out[6]: (2, 3) In [7]: a = np.array([[1],[2],[3]]) a.shape Out[7]: (3, 1) In [9]: b = np.array([[4],[5],[6]]) b.shape Out[9]: (3, 1) In [10]: c = np.vstack((a,b)) # 将两个(3,1)形状的数组按垂直方向叠加 print(c) c.shape # 输出形状为(6,1) [[1] [2] [3] [4] [5] [6]] Out[10]: (6, 1)
np.hstack:按水平方向(列顺序)堆叠数组构成一个新的数组
In[11]: a = np.array([[1,2,3]]) a.shape Out[11]: (1, 3) In [12]: b = np.array([[4,5,6]]) b.shape Out[12]: (1, 3) In [16]: c = np.hstack((a,b)) # 将两个(1,3)形状的数组按水平方向叠加 print(c) c.shape # 输出形状为(1,6) [[1 2 3 4 5 6]] Out[16]: (1, 6) In [17]: a = np.array([[1],[2],[3]]) a.shape Out[17]: (3, 1) In [18]: b = np.array([[4],[5],[6]]) b.shape Out[18]: (3, 1) In [19]: c = np.hstack((a,b)) 将两个(3,1)形状的数组按水平方向叠加 print(c) c.shape # 输出形状为(3,2) [[1 4] [2 5] [3 6]] Out[19]: (3, 2)